统计素数并求和(C语言)


练习4-11 统计素数并求和 (20 分)
 

本题要求统计给定整数M和N区间内素数的个数并对它们求和。

输入格式:

输入在一行中给出两个正整数M和N(1MN500)。

输出格式:

在一行中顺序输出M和N区间内素数的个数以及它们的和,数字间以空格分隔。

输入样例:

10 31
 

输出样例:

7 143

分析:此题明显有判断素数的环节,而判断素数只需要遍历到sqrt(n)即可。

C语言代码如下:

 1 #include <stdio.h>
 2 #include <math.h>
 3 int main(){
 4     int m, n, i, sum = 0, count = 0;
 5     scanf("%d %d", &m, &n);
 6     for(m; m <= n; m++){
 7         for(i = 2; i <= sqrt(m); i++){
 8             if(m % i == 0)
 9                 break;
10         }
11         if(i > sqrt(m)){
12             if(m == 1)
13                 count = count;
14             else{
15                 sum += m;
16                 count++;
17             }
18         }
19     }
20     printf("%d %d\n", count, sum);
21     return 0;
22 }

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM