codevs 1462 素数和

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

 1 #include<iostream>
 2 #include<cstdio>
 3 #include<cmath>
 4 using namespace std;
 5 int vis[69999];
 6 void sieve_method()
 7 {
 8     for(int i=2;i<=sqrt(69999)+0.5;i++)
 9     {
10         if(!vis[i])
11         for(int j=i*i;j<=69999;j+=i)vis[j]=1;
12     }
13 }
14 int main()
15 {
16     sieve_method();
17     int n,m,ans=0;
18     scanf("%d%d",&n,&m);
19     if(n>m)
20     {
21          n=n+m;m=n-m;n=n-m;
22     }
23     for(int i=n+1;i<m;i++)
24     if(!vis[i])ans+=i;
25     printf("%d",ans);
26     return 0;
27 }
原文地址:https://www.cnblogs.com/sssy/p/6744369.html