循环-15. 统计素数并求和

循环-15. 统计素数并求和(20)

时间限制
400 ms
内存限制
65536 kB
代码长度限制
8000 B
判题程序
Standard
作者
张彤彧(浙江大学)

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

输入格式:

输入在一行中给出2个正整数M和N(1<=M<=N<=500)。

输出格式:

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

输入样例:
10 31
输出样例:
7 143
 1 #include<stdio.h>
 2 #include<stdlib.h>
 3 #include<math.h>
 4 int IsPrime(int x);
 5 int main()
 6 {
 7     int m, n, count = 0, sum = 0, i;
 8     scanf("%d%d", &m, &n);
 9     for(i = m; i <= n; i++)
10     {
11         if(IsPrime(i))
12         {
13             count++;
14             sum += i;
15         }
16     }
17     printf("%d %d
", count, sum);
18     return 0;
19 }
20 
21 int IsPrime(int x)
22 {
23     int i, flag = 1;
24     if(x == 1 || (x % 2 == 0 && x != 2))
25         flag = 0;
26     else
27     {
28         int m = sqrt(x);
29         for(i = 2; i <= m; i++)
30         {
31             if(x % i == 0)
32             {
33                 flag = 0;
34                 break;
35             }
36         }
37     }
38     return flag;
39 }
原文地址:https://www.cnblogs.com/yomman/p/4224997.html