合数世纪
来源:互联网 发布:爱塔传奇 唐大华知乎 编辑:程序博客网 时间:2024/06/10 03:48
定义一个世纪的100个年号中不存在一个素数,即100个年号全为合数的世纪成为合数世纪;
试探究第n个合数世纪;
1.说明:
应用枚举搜索,设置a世纪的50个奇数年号(偶数年号无疑均为合数)为b,用k试商判别b是否为素数,用变量s统计这50个奇数中的合数的个数;
对于a世纪,若s=50,即50个奇数都为合数,找到a世纪为最早的合数世纪,打印输出后退出循环结束;
2.程序设计:
#include<stdio.h>#include<math.h>int main(){ long a,b,k; int m,n,s,x; printf("探究第n个合数世纪,请输入n:"); scanf("%d",&n); a=1; m=0; while(1) { a++; /*检验a世纪*/ s=0; for(b=a*100-99;b<=a*100-1;b+=2) /*枚举a世纪奇数年号b*/ { x=0; for(k=3;k<=sqrt(b);k+=2) if(b%k==0) { x=1; break; } if(x==0) /*跳出循环进行下世纪的探求*/ break; s=s+x; /*年号b为合数时,x=1,s增1*/ } if(s==50) /*s=50,合数世纪数m增1*/ m++; if(m==n) break; } printf("第%d个合数世纪为%ld世纪!\n",n,a); printf("该世纪的年号%ld--%ld全为合数!\n",a*100-99,a*100);}
3.程序运行示例及其注意事项:
探究第n个合数世纪,请输入n:1第1个合数世纪为16719世纪!该世纪的年号1671801--1671900全为合数!
- 第1个合数世纪居然出现在百万多年之后,真可谓地老天荒,海枯石烂!那时的人类应该还存在,是否还沿用当今的公元世纪就不得而知了;
注意:应用前节程序可知[1671782,1671906]是125个连续合数区间,第1个合数世纪的100个合数年号1671801~1671900只是[1671782,1671906]的一个子区间;
1 0
- 合数世纪
- 合数乘积
- 计算合数
- uva11752(合数)
- 合数相关
- 合数分解
- 质数,素数,合数
- 质数 合数 互质
- 质数与合数
- 质数、合数快速判断
- 质数还是合数?
- nxoj:质数还是合数
- [模板]合数分解
- 【HUSTOJ】1105: 纯粹合数
- 连续合数探求
- 合数分解 UVA
- 寻找范围内”合数“
- 合数唯一分解定理
- 我的博客搭建之git的使用
- [leetCode]53. Maximum Subarray&&动态规划
- Android数据存储之Sqlite数据库的俩种使用方式
- Android Fragment
- SVN
- 合数世纪
- Android项目实践之菜鸟养成 (二)初识Android
- 递归的调用顺序
- XOR ^
- MVC框架自己封装开启超神之路(上) 2-3路由类
- 博客开通啦!
- 半导体器件物理期末复习
- Ubuntu16.04 开发环境配置
- 22、(知识篇)Mybatis02使用(动态SQL/模糊查询/log4j)