练习4-11 统计素数并求和
本题要求统计给定整数M和N区间内素数的个数并对它们求和。
输入格式:
输入在一行中给出两个正整数M和N(1≤M≤N≤500)。
输出格式:
在一行中顺序输出M和N区间内素数的个数以及它们的和,数字间以空格分隔。
输入样例:
10 31
输出样例:
7 143
思路
对[M,N]之间的数遍历,进行判断是否为素数。 判断方式为,让这个数与[2,i/2]取余,若 == 0,则不为素数;
注
1和0都不是素数考虑当m = 1时,进行附加判断,m不是素数。
代码
#include<stdio.h>
int main()
{
int m
, n
;
int i
, j
, sum
= 0, count
= 0;
int flag
= 0;
scanf("%d %d",&m
, &n
);
for(i
=m
; i
<=n
; i
++){
flag
= 0;
if(i
== 1){
flag
= 1;
}
for(j
=2; j
<=i
/2; j
++){
if(i
%j
== 0)
flag
= 1;
}
if(flag
== 0&&n
!= 1){
count
++;
sum
+=i
;
}
}
printf("%d %d", count
, sum
);
}