HDU 5752
2016-07-26 23:53
288 查看
Sqrt Bo
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)Total Submission(s): 423 Accepted Submission(s): 188
[align=left]Problem Description[/align]
Let's define the function $f(n)=\lfloor \sqrt{n}\rfloor$.
Bo wanted to know the minimum number $y$ which satisfies $f^y(n)=1$.
note:$f^1(n)=f(n),f^y(n)=f(f^{y-1}(n))$
It is a pity that Bo can only use 1 unit of time to calculate this function each time.
And Bo is impatient, he cannot stand waiting for longer than 5 units of time.
So Bo wants to know if he can solve this problem in 5 units of time.
[align=left]Input[/align]
This problem has multi test cases(no more than $120$).
Each test case contains a non-negative integer $n(n<10^{100})$.
[align=left]Output[/align]
For each test case print a integer - the answer $y$ or a string "TAT" - Bo can't solve this problem.
[align=left]Sample Input[/align]
233
233333333333333333333333333333333333333333333333333333333
[align=left]Sample Output[/align]
3
TAT
[align=left]Source[/align]
2016 Multi-University Training Contest 3
[align=left]Recommend[/align]
wange2014
题意:给你一个数 问你需要不断开根多少次结果等于1 超过5次输出 TAT
题解:由于有5次的这个限制,所以尝试寻找分界点。
很容易发现是2^{32},所以我们先比较输入的数字是否比这个大,然后再暴力开根
/****************************** code by drizzle blog: www.cnblogs.com/hsd-/ ^ ^ ^ ^ O O ******************************/ //#include<bits/stdc++.h> #include<iostream> #include<cstring> #include<cmath> #include<cstdio> #define ll long long #define mod 1000000007 #define PI acos(-1.0) using namespace std; char a[205]; ll ans; int main() { while(scanf("%s",a)!=EOF){ ans=0; int len=strlen(a); if(len>10||(len==1&&a[0]=='0')) printf("TAT\n"); else { for(int i=0;i<len;i++) ans=ans*10+a[i]-'0'; int jishu=0; while(1) { jishu++; double exm=ans; exm=sqrt(exm); ans=(ll)exm; if(ans==1) break; } if(jishu<=5) printf("%d\n",jishu); else printf("TAT\n"); } } return 0; }
相关文章推荐
- docker配置环境
- Hadoop学习(2):HDFS基础
- 网络
- 使用wsimport生成webservices客户端代码
- Mesos源码分析(8): Mesos-Slave的初始化
- 求强连通子图的方法以及简单实现
- 产品助理day14
- HDU 5752 Sqrt Bo (数论)
- Linux中的信号(1)
- 解决 Mac Pro 用 Excel 打开 CSV 文件不能正常显示的问题
- Hadoop学习(1):关键技术概要
- Liunx(一场不可思议的旅行作业)
- Glide原理分析(一)
- 网易2016实习题-比较重量
- 抽象类和接口
- ArchLinux必备命令记录
- Java值得注意的知识点
- Codeforces Round #249 (Div. 2) D. Special Grid 枚举
- Mesos源码分析(8): Mesos-Slave的初始化
- Http协议学习笔记