LightOJ 1259 Goldbach`s Conjecture
来源:互联网 发布:vscode md转html 编辑:程序博客网 时间:2024/05/17 22:41
题意:
给出一个偶数n,求出有几对素数的和等于n;即素数a,b其中(a <=b < n) 问有几对a+b = n。
分析:
一开始用素数打表,开个1e7的int数组存是否为素数, 最后再遍历 这些素数,是否存在 b =(n-这个数), 如果b还是素数,并且b >= a,则存在一组,ans++。
一开始内存超限了几次,后来学到了,开的数组可以开个bool类型的,bool 每一个只占一个字节,而int占四个字节,内存一下就变成了1/4。
代码:
#include <iostream>#include <cmath>#include <cstdio>using namespace std;typedef long long ll;const int N = 10000010;bool b[N] = {1, 1, 0};int prim[700000];void dabiao(){ int t = 1; for(int i = 2; i < N; i++) { if(!b[i]) { prim[t++] = i; for(int j = i + i; j <= N; j += i) b[j] = 1; } }}int main(){ int t; scanf("%d", &t); int kase = 1; dabiao(); while(t--) { int n, ans = 0; scanf("%d", &n); for(int i = 1; prim[i] <= n/2; i++) { if(b[n-prim[i]] == 0) ans++; } printf("Case %d: %d\n", kase++, ans); } return 0;}
阅读全文
1 0
- lightOJ 1259 Goldbach`s Conjecture
- LightOJ - 1259 Goldbach`s Conjecture
- LightOJ 1259 Goldbach`s Conjecture
- LightOJ 1259 Goldbach`s Conjecture
- LightOJ - 1259 Goldbach`s Conjecture
- LightOJ 1259 Goldbach`s Conjecture
- LightOJ 1259 Goldbach`s Conjecture
- Goldbach`s Conjecture LightOJ 1259
- Goldbach`s Conjecture LightOJ 1259
- lightoj 1259 Goldbach`s Conjecture
- LightOJ 1259 Goldbach`s Conjecture
- Goldbach`s Conjecture LightOJ
- Goldbach`s Conjecture LightOJ
- 【哥德巴赫猜想】LightOJ Goldbach`s Conjecture 1259
- LightOJ 1259 Goldbach`s Conjecture(数论)
- lightoj 1259 - Goldbach`s Conjecture 【素数筛】
- LightOj 1259-Goldbach`s Conjecture(素数打表)
- LightOJ 1259 Goldbach`s Conjecture(证明哥德巴赫猜想)
- 比特币、以太坊、hyperledger技术宏观比较
- Java+opencv3.2.0之canny算子
- 《统计学习方法》 朴素贝叶斯 贝叶斯估计 Python实现
- 《笨办法学python》加分习题19——我的答案
- web修改标签图标
- LightOJ 1259 Goldbach`s Conjecture
- Palindrome回文串
- 138. Copy List with Random Pointer
- PAT A1069
- 几种方法来实现scp拷贝时无需输入密码
- selenium python 编码格式 页面元素显式、隐式等待 鼠标悬浮
- 第一章
- R + python︱数据规范化、归一化、Z-Score
- POJ2299 Ultra-QuickSort(树状数组)