博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hdu 2098 分拆素数和
阅读量:4445 次
发布时间:2019-06-07

本文共 1841 字,大约阅读时间需要 6 分钟。

题目连接

分拆素数和

Description

把一个偶数拆成两个不同素数的和,有几种拆法呢?

Input

输入包含一些正的偶数,其值不会超过10000,个数不会超过500,若遇0,则结束。

Output

对应每个偶数,输出其拆成不同素数的个数,每个结果占一行。

SampleInput

30

26

0

SampleOutput

3

2

打表,二分。。

1 #include
2 #include
3 #include
4 #include
5 #include
6 #include
7 #include
8 #include
9 using std::cin;10 using std::cout;11 using std::endl;12 using std::find;13 using std::sort;14 using std::set;15 using std::map;16 using std::pair;17 using std::vector;18 using std::lower_bound;19 #define sz(c) (int)(c).size()20 #define all(c) (c).begin(), (c).end()21 #define iter(c) __typeof((c).begin())22 #define cls(arr,val) memset(arr,val,sizeof(arr))23 #define cpresent(c, e) (find(all(c), (e)) != (c).end())24 #define rep(i, n) for (int i = 0; i < (int)(n); i++)25 #define tr(c, i) for (iter(c) i = (c).begin(); i != (c).end(); ++i)26 #define pb(e) push_back(e)27 #define mp(a, b) make_pair(a, b)28 const int Max_N = 10010;29 typedef unsigned long long ull;30 struct PrimeSpilt {31 int tot, prime[Max_N];32 inline bool isPrime(int n) {33 for(int i = 2; i * i <= n; i++) {34 if(!(n % i)) return false;35 }36 return n != 1;37 }38 inline void init() {39 tot = 0;40 for(int i = 1;i < Max_N ;i++) {41 if(isPrime(i)) prime[tot++] = i;42 }43 }44 inline void work(int n) {45 int ans = 0;46 for(int i = 0;i < tot && prime[i] < n; i++) {47 int p = lower_bound(prime + i, prime + tot, n - prime[i]) - prime;48 if(prime[i] + prime[p] == n && i != p) ans++;49 }50 printf("%d\n", ans);51 }52 }go;53 int main() {54 #ifdef LOCAL55 freopen("in.txt","r",stdin);56 freopen("out.txt","w+",stdout);57 #endif58 int n;59 go.init();60 while(~scanf("%d", &n) && n) go.work(n);61 return 0;62 }
View Code

 

转载于:https://www.cnblogs.com/GadyPu/p/4592395.html

你可能感兴趣的文章
H5 65-清除浮动方式一
查看>>
四旋翼姿态解算——基础理论及推导
查看>>
通过用户模型,对数据库进行增删改查操作
查看>>
redis安装使用配置
查看>>
C++数据文件存储与加载(利用opencv)
查看>>
[TensorFlow 2] [Keras] fit()、fit_generator() 和 train_on_batch() 分析与应用
查看>>
Java 编译错误:缺少返回语句
查看>>
leanote使用本地账户时,去掉待同步的小红点
查看>>
整理pandas操作
查看>>
REST-assured 2发送消息代码重构
查看>>
python-面向对象
查看>>
11 go并发编程-上
查看>>
操作DOM树
查看>>
WPF——TargetNullValue(如何在绑定空值显示默认字符)
查看>>
巧用五招提升Discuz!X运行速度
查看>>
01构建之法阅读笔记
查看>>
mac svn命令 linux同样适用
查看>>
jQuery,ctrl+enter组合事件
查看>>
python sendmail
查看>>
centOS7下安装GUI图形界面
查看>>