2021-05-24

今日做了 统计素数并求和  的题,来自于浙大翁恺老师的课程习题,题目内容如下:


本题着手点在于两点,一是输入两个正整数,且找出两个数之间的所有素数的个数,二是将找出的素数相加求和;

答题:


#include<stdio.h>

int main()

{

int M,N;

scanf("%d %d",&M,&N);

if(M==1){ //当 M 输入为 1 时,因为 1 不是素数,将其剔除,令 M 等于 2 ,继续向下判断;

M=2;

}

int i,j;

i=M;

int num=0,sum=0;

while(i<=N) //让 i 从 M 到 N 遍历;

{

int isprime=1; //用于判断素数的依据是 isprime=1 ,若初始的 i 值是 1 ,则不进入循环,会直接被判为素数,所以要将 1 剔除;

for(j=2;j<i;j++) //将 i 分别对 2 到 i-1 的数进行取余,素数只能整除 1 和自身;

{

if(i%j==0){ //判断余数是否为 0 ;

isprime=0; //当不是素数时, 令 isprime=0 ,并跳出for循环;

break;

}

}

if(isprime){ //for循环结束后,再次对 isprime 进行判断,当是素数时,即 isprime=1 . 计数并求和;

num++;

sum+=i;

}

i++;

}

printf("%d %d\n",num,sum);

return 0;

}

运行结果:


©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • KMP(时间复杂度O(m+n))算法代码分两部分: 关于next数组的🌰: 初始化 i = 1, j = 0, n...
    yo_xx阅读 1,241评论 0 0
  • 2019年8月8日开始编写,等50题做完了希望不会太晚。 本篇纯属本人的练手作业,本人也不是什么大神,仅供参考。 ...
    墨鸢Wesley阅读 4,355评论 0 0
  • 【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一...
    阿里高级软件架构师阅读 8,519评论 0 19
  • 算法口试也就是用自然语言描述算法,脑海中要有一个流程图。 【目录】考点一:循环考点二:递归考点三:排序考点四:查找...
    三金姐姐阅读 4,005评论 -1 2
  • 【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔...
    开心的锣鼓阅读 8,567评论 0 9