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

分类标签 Tags

注意最后i的取值范围

 1 #include<iostream>
 2 #include<cstdio>
 3 #include<cmath>
 4 using namespace std;
 5 const int MAXN=10000001;
 6 int vis[MAXN];
 7 int tot=0;
 8 int main()
 9 {
10     int a,b;
11     scanf("%d%d",&a,&b);
12     //a=a+1;
13     //b=b-1;
14     if(a>b)
15     swap(a,b);
16     for(int i=2;i<=sqrt(b);i++)
17     {
18         if(vis[i]==0)
19         {
20             for(int j=i*i;j<=b;j=j+i)
21             {
22                 vis[j]=1;
23             }
24         }
25     }
26     for(int i=a+1;i<=b-1;i++)
27     {
28         if(vis[i]==0)
29         tot=tot+i;
30     }
31     printf("%d",tot);
32     return 0;
33  } 
原文地址:https://www.cnblogs.com/zwfymqz/p/6743492.html