第五届图灵杯1855
2017-12-03 22:39
337 查看
1855: 逃出生天
描述题目描述:
gold学长从昏迷中醒来以后发现自己被困在一个山洞里,他找了很久,终于找到一个门。门上写着:想要逃出去,只有一个办法 你可以选择一个数n,设m=1 * 2 * ... * (n-1)。如果m是n的倍数,那么门就会自动打开,否则你就别想出去了。 gold学长内心充满了绝望,他想了一些数,但他不知道这些数能不能保证自己逃出去。你能帮助gold学长逃出生天吗?输入:
第一行一个数T(T<=1000),表示gold学长想的数的个数 接下来每一行一个数n(2<=n<=1e8),表示gold学长想的数输出:
每行一个输出 对于每一个数,如果学长能逃出去,则输出“escape”(不含引号),否则输出“trapped”(不含引号)样例输入
4 5 6 7 8
样例输出
trapped escape trappedescape
看似一道签到题,嗯,也不难,但是A了好久,
实质就是判断是不是素数,当然,有一个坑,
4需要特判。
#include<bits/stdc++.h>
using namespace std;
bool isPrime_3( int num )
{
//两个较小数另外处理
if(num ==2|| num==3 )
return 1 ;
//不在6的倍数两侧的一定不是质数
if(num %6!= 1&&num %6!= 5)
return 0 ;
int tmp =sqrt( num);
//在6的倍数两侧的也可能不是质数
for(int i= 5;i <=tmp; i+=6 )
if(num %i== 0||num %(i+ 2)==0 )
return 0 ;
//排除所有,剩余的是质数
return 1 ;
}
int main()
{
int t;
cin>>t;
while(t--)
{
int n;
cin>>n;
if(n == 4)
cout<<"trapped"<<endl;
else
{
if(isPrime_3(n))
cout<<"trapped"<<endl;
else
cout<<"escape"<<endl;
}
}
return 0;
}
相关文章推荐
- 第五届图灵杯1869
- 博客园图灵杯第五届博问大赛(2010.8.3~2010.9.2)
- 第五届图灵杯1872PJ的情书
- 博客园“图灵杯”第五届博问大赛比赛结果
- 第五届“图灵杯”NEUQ-ACM程序设计大赛 B题 字符串处理
- 第五届“图灵杯”NEUQ-ACM程序设计大赛 H题 深搜
- 博客园图灵杯第五届博问大赛(2010.8.3~2010.9.2)
- 第五届“图灵杯”NEUQ-ACM程序设计大赛 F题 字符串处理哈夫曼树
- 第五届图灵杯1861
- 第五届图灵杯1865
- 图灵
- 康托尔、哥德尔、图灵——永恒的金色对角线
- 阿兰·麦席森·图灵
- 图灵4月精彩新书预告
- “图灵&博客园&互动网有奖书评征集活动——微软技术系列”活动详情
- 2008年第五届“世界品牌价值实验室年度大奖”评选开始
- 图灵计算、大计算机系统
- 图灵近期新书精彩不断,让你应接不暇!
- 图灵十二月月刊
- 图灵科普系列丛书封面有奖征集(贴图送书)