本题要求统计给定整数M和N区间内素数的个数并对它们求和。
输入格式:
输入在一行中给出两个正整数M和N(1≤M≤N≤500)。
输出格式:
在一行中顺序输出M和N区间内素数的个数以及它们的和,数字间以空格分隔。
输入样例:
10 31
输出样例:
7 143
提交:
#include <stdio.h> //素数,除了1和它本身外不能被任何整数整除的数 int df (int num) {//该函数没有处理1和本身 for (int i = 2;i<num;i++) { if (num%i==0) return 0;//只要有一次整除,就不是素数返回 0 } return num;//除了1和它本身外不能被任何整数整除的数 默认返回素数本身 } int main() { int m,n,count=0,sum=0; scanf("%d %d",&m,&n); for (m;m<=n;m++) {//10 31 : 11 13 17 19 23 29 31 if (m == 1) ;//M==N,0 处理1 else {//包含M和N取最大边界 if (df(m) !=0 ){ sum += df(m); count++; } } } printf("%d %d",count,sum); return 0; }