本文共 1023 字,大约阅读时间需要 3 分钟。
本题要求统计给定整数M和N区间内素数的个数并对它们求和。
输入在一行中给出两个正整数M和N(1≤M≤N≤500)。
在一行中顺序输出M和N区间内素数的个数以及它们的和,数字间以空格分隔。
10 31
7 143
#includeint main(){ int M, N; scanf("%d %d", &M, &N); int count = 0; int sum = 0; for (int i = M; i <= N; i++) //被除数,区间[M,N] { int flag = 0; //flag=1是素数 //1既不是质数也不是合数 if (i == 2) { flag = 1; } else if(i > 2) { for (int j = 2; j < i; j++) //除数,区间[2,i-1](i为被除数) { if (i % j != 0) //不能整除,验证下一个除数 { if (j == i - 1) { flag = 1; break; } continue; } if (i % j == 0) //能整除,不是素数,验证下一个被除数 break; } } if (flag == 1) { sum += i; count++; } } printf("%d %d\n", count, sum); return 0;}
转载地址:http://nnnlf.baihongyu.com/