题目描述 说明
给定2个整数a,b求出它们之间(不含a,b)所有质数的和。
输入描述 输入描述
一行,AB(0 <= A,B <= 65536)
输出描述 输出描述
一行,A,B之间(不含A,B)所有素数的和。
样例输入 示例输入
39 1224
样例输出 示例输出
111390
数据范围及提示 数据大小和提示
注意没有要求A <B
看到了热搜:
地铁battle站。。
没忍住,点开了。
有这就是街舞的内容!!!
哎,到了高中真的是啥也看不了哇。
看到了亮亮和杨文昊的battle。
太燃了!!!
里面有首歌,什么我是个机器人摇摇摆摆。。
愣是没搜到。
燃。
有空再看你们!
加油,街舞正是时代潮流!
看起来很简单,于是自信的打出了第一份代码。
就是从a到b枚举,判断是不是素数,是就加。
1 #include<iostream> 2 #include<cstdio> 3 #include<algorithm> 4 #include<cstring> 5 #include<cmath> 6 using namespace std; 7 8 int a,b; 9 long long ans; 10 11 bool judge(int x) 12 { 13 for(int i=2;i<=sqrt(x);++i) 14 if(x%i==0) return false; 15 return true; 16 } 17 18 int main() 19 { 20 scanf("%d%d",&a,&b); 21 for(int i=a;i<=b;++i) 22 { 23 if(judge(i)) 24 ans+=i; 25 } 26 printf("%lld",ans); 27 return 0; 28 }
40分,woc哪儿有问题。。
看了一个没过的样例,,,
b居然比a小。
made,太坑了。
于是马上改了第二份代码,提交。
#include<iostream> #include<cstdio> #include<algorithm> #include<cstring> #include<cmath> using namespace std; int a,b; long long ans; bool judge(int x) { for(int i=2;i<=sqrt(x);++i) if(x%i==0) return false; return true; } int main() { scanf("%d%d",&a,&b); if(a>b) swap(a,b); for(int i=a;i<=b;++i) { if(judge(i)) ans+=i; } printf("%lld",ans); return 0; }
woc90分,
哪儿又错了。
没过的样例里有1,
那就会从1开始枚举,把1给加上啊!
千辛万苦,终于打出了ac代码:
1 #include<iostream> 2 #include<cstdio> 3 #include<algorithm> 4 #include<cstring> 5 #include<cmath> 6 using namespace std; 7 8 int a,b; 9 long long ans; 10 11 bool judge(int x) 12 { 13 for(int i=2;i<=sqrt(x);++i) 14 if(x%i==0) return false; 15 return true; 16 } 17 18 int main() 19 { 20 scanf("%d%d",&a,&b); 21 if(a>b) swap(a,b); 22 for(int i=a;i<=b;++i) 23 { 24 if(i==1) continue; 25 if(judge(i)) 26 ans+=i; 27 } 28 printf("%lld",ans); 29 return 0; 30 }
yes!!!
如果你不开心,那我就把右边这个zz大炸分享给你吧,你看,他这么好看,跟个大傻子一样看着你,你还伤心吗?真的!这照片盯上他五秒钟就想笑了。一切都会过去的。时间时间会给你答案2333
原文地址:https://www.cnblogs.com/Mary-Sue/p/9169072.html
时间: 2024-11-14 13:16:27