XDOJ1171 - DTBW的哑铃
来源:互联网 发布:网络流行语言 编辑:程序博客网 时间:2024/05/17 07:45
Description
这是一个崩坏了的世界,LBW总是在宿舍里一边举着哑铃一边秀他的肌肉。
这是背景。
LHM终于有一天爆发了,他指定一个重量,让LBW用自己的配重块组合出那个质量的哑铃,然后举起他,唯一要求,配重块用的个数最少。LBW因为某种原因,他有所有合数质量的配重块(1也算合数),为了简单点,我们认为不加配重块时哑铃质量为0。对于LBW来说,举起哑铃不难,但用最少的配重块组合起来这个就难了。请你写个程序帮帮他算出对于指定的质量,他最少可以用多少配重块组合出这个质量的哑铃。
Input
第一行只有一个N,表示下来有N组数据(1 <= N <= 1000000)
下来的N行,每一行只有一个数K,即LHM指定的质量 (K <= 1000000)
下来的N行,每一行只有一个数K,即LHM指定的质量 (K <= 1000000)
Output
对于每一组数据,输出最少用几个配重块可以组合出
Sample Input
2
1
2
1
2
Sample Output
1
2
2
解题思路:
题意非常简单,就是判断一个数是不是素数,如果是素数输出2,如果是合数输出1.特例3要输出3,但是一直TLE,分析别人的代码才发现原来是cin,cout的原因,换成C的printf和scanf就过了。
#include<iostream>#include<cstdio>using namespace std;const int D = 1000005;bool isPrime[D+1];void init(){ for(int i=0;i<=D;++i) isPrime[i] = true; isPrime[0] = isPrime[1] = 0; isPrime[2] = 1; for(int i=2;i<=D;++i) { if(isPrime[i]) { for(int j=2;j*i<=D;++j) { isPrime[j*i] = false; } } }}int main(){ int n; init(); cin>>n; for(int i=0;i<n;++i) { int m ; scanf("%d",&m); if(m==0) { cout<<0<<endl; continue; } if(m==3) { printf("%d\n",3); continue; } if(isPrime[m]) printf("%d\n",2); else printf("%d\n",1); } return 0;}
0 0
- XDOJ1171 - DTBW的哑铃
- 哑铃教程
- 哑铃教程
- 8个最好的哑铃练习动作,80%的人都没用过
- 店长推荐:私密哑铃 让女人永葆青春的秘密-两性资讯-广州性情吧
- 哑铃健身图解
- AAtitit 项目管理 提升开发效率的项目流程方法模型 哑铃型 橄榄型 直板型titi
- 一起来锻炼——哑铃(zz)
- 胸大肌(04):哑铃卧推
- 背阔肌(03):单臂哑铃划船
- 三角肌中束(01):哑铃侧平举
- 哑铃健身计划及图解说明
- 哑铃健身之高级篇-力竭
- 哑铃健身计划及图解说明
- 三角肌前束(02):哑铃交替前举
- 三角肌中束(02):单臂哑铃侧平举
- ns仿真一个哑铃结构,第一次仿真成功!
- 男子疑因失恋患自闭症用哑铃砸死生母
- Eclipse工具栏上显示android的sdk和adb图标
- windows操作
- NYOJ题目71 独木舟上的旅行
- C ~ 链式队列与循环队列
- 一个多线程绑定到不同cpu上的例子
- XDOJ1171 - DTBW的哑铃
- Spring任务调度
- IE8版本支持canvas
- maven常用命令
- CentOS6.0_X86_64 racle 11g R2 开机自动启动(linux)
- unix文本文件格式的约定
- 三个梦
- Linux屏幕录像
- JNI ERROR (app bug): attempt to use stale local reference 0x31900019(Android ICS(4.0+) JNI局部应用的变化)