统计素数并求和(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 }

 

 
posted @ 2022-03-13 20:47  撰四记  阅读(1214)  评论(0编辑  收藏  举报