C语言 合数世纪

Posted IT青鸟

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言 合数世纪相关的知识,希望对你有一定的参考价值。

点击上方“蓝字”关注我们
C语言 合数世纪




愉快的一天,不得不做的三件事:

        种田,锄地,整代码!!!






【题目】



C语言 合数世纪
一个世纪的100个年号全为合数(即不存在一个素数),该世纪称为合数世纪。使用循环方法编程求出最早的合数世纪。
C语言 合数世纪




【设计思路】


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,则该世纪为合数世纪.





【代码展示】


C语言   合数世纪

#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");

}






【运行结果展示】


C语言 合数世纪






IT 农工要回家休息了,我们下期再见吧

记得点击“在看”进行收藏哦




往期精彩





以上是关于C语言 合数世纪的主要内容,如果未能解决你的问题,请参考以下文章

计算从n个人中选k个人组成委员会的不同组合数 用C语言函数递归

都21世纪了,还会有人不学C语言吗?

c语言是计算机的全部吗

都21世纪了,还会有人不学C语言吗?

都21世纪了,还会有人不学C语言吗?

都21世纪了,还会有人不学C语言吗?