蓝桥杯ACM中档题-求素数和
1.问题描述
输入两个正整数m和n(m<n),求m到n之间(包括m和n)所有素数的和,要求定义并调用函数isprime(x)来判断x是否为素数(素数是除1以外只能被自身整除的自然数)。
2.算法分析
3.输入
m n
4.输出
一个数据
5.输入例子
2 3
6输出例子
5
7.代码
#include <stdio.h>
#include <math.h>
int isprime(int x)
{
int i,j;
if(x==2)
return 1;
if(x==1)
return 0;
if(x!=2)
{ for(i=2; i<=sqrt(x); i++)
if(x%i==0)
return 0;
return 1;
}
//判断x是否素数
}
int main()
{
int m,n,i,sum=0;
scanf("%d%d",&n,&m);
for(i=n; i<=m; i++)
{ if(isprime(i)==1)
sum+=i;
}
printf("%d",sum);
return 0;
}