C语言 合数世纪
Posted IT青鸟
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言 合数世纪相关的知识,希望对你有一定的参考价值。
愉快的一天,不得不做的三件事:
种田,锄地,整代码!!!
【题目】
【设计思路】
【代码分析】
int prime(int n)
{
int i;
long k;
k= sqrt(n)+1;
for(i=2;i<k;i++)
{
if(n%i==0)
return 1;
}
return 0;
}
判别是否为素数的函数,若是,返回1;若不是,返回0.
for(cen=1;cen<=20000;cen++)
for(i=1,k=0;i<=100;i+=2)
{
if(prime((cen-1)*100+i))
k++;
if(k==50)
{
printf("在世纪区间[1,20000]内,最早的合数世纪是 %d 世纪\n",cen);
t++;
}
}
在世纪区间【1,20000】内,循环判断每个世纪的奇数年号,用变量k记录,若年号为素数,则k+1;
若最后k=50,则该世纪为合数世纪.
【代码展示】
#include<stdio.h>
#include<math.h>
int prime();
void century();
int main()
{
century();
return 0;
}
int prime(int n)
{
int i;
long k;
k= sqrt(n)+1;
for(i=2;i<k;i++)
{
if(n%i==0)
return 1;
}
return 0;
}
void century()
{
int i,cen,k,t=0;
printf("-------欢迎进入<合数世纪>操作界面-------\n\n");
for(cen=1;cen<=20000;cen++)
for(i=1,k=0;i<=100;i+=2)
{
if(prime((cen-1)*100+i))
k++;
if(k==50)
{
printf("在世纪区间[1,20000]内,最早的合数世纪是 %d 世纪\n",cen);
t++;
}
}
if(t==0)
printf("在世纪区间[1,20000]内,未发现合数世纪\n");
}
【运行结果展示】
IT 农工要回家休息了,我们下期再见吧
记得点击“在看”进行收藏哦
往期精彩
以上是关于C语言 合数世纪的主要内容,如果未能解决你的问题,请参考以下文章