1462 素数和
时间限制: 1 s
空间限制: 64000 KB
题目等级 : 青铜 Bronze
题目描述 Description
给定2个整数a,b 求出它们之间(不含a,b)所有质数的和。
输入描述 Input Description
一行,a b(0<=a,b<=65536)
输出描述 Output Description
一行,a,b之间(不含a,b)所有素数的和。
样例输入 Sample Input
39 1224
样例输出 Sample Output
111390
数据范围及提示 Data Size & Hint
注意没有要求a<b
#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
int vis[];
void sieve_method()
{
for(int i=;i<=sqrt()+0.5;i++)
{
if(!vis[i])
for(int j=i*i;j<=;j+=i)vis[j]=;
}
}
int main()
{
sieve_method();
int n,m,ans=;
scanf("%d%d",&n,&m);
if(n>m)
{
n=n+m;m=n-m;n=n-m;
}
for(int i=n+;i<m;i++)
if(!vis[i])ans+=i;
printf("%d",ans);
return ;
}