题目描述
本题要求统计给定整数M和N区间内素数的个数并对它们求和。
输入
在一行中给出2个正整数M和N(3<=M<=N<=100)。
输出
在一行中顺序输出M和N区间内素数的个数以及它们的和,数字间以空格分隔。
样例输入
10 31
样例输出
7 143
提示
注意1不是素数,2是素数。
#include "stdio.h"
#include "math.h"
int prime(int n)
{
int i,flag=1;
for(i=2;i<=sqrt(n);i++)
{
if(n%i==0)
{
flag=0;
break;
}
}
return flag;
}
void main()
{
int m,n,i,count=0;
long s=0;
printf("请输入整数m:");
scanf("%d",&m);
printf("请输入整数n:");
scanf("%d",&n);
for(i=m;i<=n;i++)
{
if(prime(i))
{
count++;
s+=i;
}
}
printf("%d与%d之间素数个数:%d\n",m,n,count);
printf("%d与%d之间素数之和:%ld\n",m,m,s);
}
bool heShu (int n)
{
int flag = 0;
for (int i = 2; i < n; ++i)
{
if (n%i == 0)
{
flag = 1;
break;
}
}
if (flag) return 1;
else return 0;
}//判断合数
bool suShu (int n)
{
int flag = 1;
for (int i = 2; i < n; ++i)
{
if (n%i == 0)
{
flag = 0;
break;
}
}
if (flag) return 1;
else return 0;
}//判断素数
自己去玩吧