uva 10168 【素数筛法】
来源:互联网 发布:爱温士采暖知乎 编辑:程序博客网 时间:2024/06/15 00:21
题意:
题解:
代码:
#include<iostream>#include<string>#include<string.h>using namespace std;bool u[10000001];int su[5000000],num;void prepare(){int i,j;memset(u,true,sizeof(u));for(i=2;i<=9999999;i++){if(u[i]) su[++num]=i;for(j=1;j<=num;j++){if(i*su[j]>9999999) break;u[i*su[j]]=false;if(i%su[j]==0) break;}}}int main(){prepare();int n,i,j,k;while(cin>>n){if(n==8){ cout<<"2 2 2 2"<<endl; continue;}if(n==9){ cout<<"2 2 2 3"<<endl; continue;}if(n==10){ cout<<"2 2 3 3"<<endl; continue;}if(n==11){ cout<<"2 3 3 3"<<endl; continue;}if(n==12){ cout<<"3 3 3 3"<<endl; continue;}if(n<8){ cout<<"Impossible."<<endl; continue;}if(n%2==0) {cout<<"2 2 ";n-=4; }//先分出头两项else {cout<<"2 3 "; n-=5;}for(i=1;i<=num;i++) //问题又转换为找一个最大和最小的{if(su[i]*2>n) break;if(u[n-su[i]]){cout<<su[i]<<" "<<n-su[i]<<endl;break;}}}return 0;}
阅读全文
0 0
- uva 10168 【素数筛法】
- UVA 3883 某区间的素数 【素数筛法】
- Uva 10006 Carmichael Numbers(数论、快速幂、素数筛法)
- Uva 10168 Summation of Four Primes 素数
- UVa 640 Self Numbers (类似素数筛)
- UVA-10200(素数)
- UVA 524 素数环
- UVa 1210 连续素数
- 【素数 && 快速幂】UVA
- uva 10375 (唯一分解定理+筛素数)
- UVA 10006 - Carmichael Numbers (快速幂+筛素数)
- UVA - 10006 Carmichael Numbers(素数筛+快速幂)
- UVA 524 素数环Prime Ring Problem (回溯法)
- 又见素数(素数筛法)
- nyoj 26 孪生素数 素数筛法
- HDU 4548 美素数 // 素数筛法
- 素数判断和素数筛法
- 素数筛法-----》大规模的判断素数
- 99%的人理解错 HTTP 中 GET 与 POST 的区别
- 廖雪峰python学习笔记(1)--网络编程
- 守护线程
- Serializable 接口与 Java 序列化与反序列化
- leetcode练习 Reverse Pairs
- uva 10168 【素数筛法】
- string string string hdu 6194 (后缀数组做法)
- UVa 11354 Bond 最小生成树+LCA倍增
- GOGOGO
- GPU的选择
- JAVA不使用第三个变量,交换两个变量的值
- 近来所想
- vim配置
- hdu 5826 physics 物理+数学微分方程