2016 Multi-University Training Contest 3 Sqrt Bo
来源:互联网 发布:java自学书籍知乎 编辑:程序博客网 时间:2024/06/05 23:50
Sqrt Bo
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)Total Submission(s): 0 Accepted Submission(s): 0
Problem Description
Let's define the function f(n)=⌊n−√⌋ .
Bo wanted to know the minimum numbery which satisfies fy(n)=1 .
note:f1(n)=f(n),fy(n)=f(fy−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.
Bo wanted to know the minimum number
note:
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.
Input
This problem has multi test cases(no more than 120 ).
Each test case contains a non-negative integern(n<10100) .
Each test case contains a non-negative integer
Output
For each test case print a integer - the answer y or a string "TAT" - Bo can't solve this problem.
Sample Input
233233333333333333333333333333333333333333333333333333333333
Sample Output
3
代码:
#include<stdio.h>#include<string.h>#include<stdlib.h>#include<math.h>#include<vector>#include<map>#include<set>#include<queue>#include<stack>#include<algorithm>using namespace std;#define INF 0x3f3f3f3f#define N 110000__int64 f(__int64 x,__int64 tol){ __int64 y; y=(__int64)sqrt(double(x)); if(y==1) return tol+1; else return f(y,tol+1);}int main(){ __int64 i,n,sum,k; char a[10000]; while(~scanf("%s",a)){ k=strlen(a); if(k>10){ printf("TAT\n");continue; } n=0; for(i=0;i<k;i++) n=n*10+a[i]-'0'; sum=(__int64)sqrt(double(n)); if(sum==0) printf("TAT\n"); else if(sum==1) printf("1\n"); else { if(f(sum,1)>5) printf("TAT\n"); else printf("%I64d\n",f(sum,1)); } } return 0;}
0 0
- 2016 Multi-University Training Contest 3 Sqrt Bo
- 2016 Multi-University Training Contest 3 1001 Sqrt Bo
- 2016 Multi-University Training Contest 3 1001 Sqrt Bo
- 2016 Multi-University Training Contest 3 1001 Sqrt Bo (模拟)
- HDU-2016 Multi-University Training Contest 3-Sqrt Bo-大数开方
- hdu 5752 Sqrt Bo(2016 Multi-University Training Contest 3——水题)
- 2016 Multi-University Training Contest 3 hdu 5752 Sqrt Bo【思维】
- hdu5752 2016 Multi-University Training Contest 3 Sqrt Bo 解题报告
- 2016 Multi-University Training Contest 3-1011.Teacher Bo,暴力!
- 2016 Multi-University Training Contest 3 Rower Bo
- 2016 Multi-University Training Contest 3 1002 Permutation Bo
- 2016 Multi-University Training Contest 3 1011 Teacher Bo
- 2016 Multi-University Training Contest 3 1011 Teacher Bo
- 2016 Multi-University Training Contest 3 1003 Life Winner Bo
- 2016 Multi-University Training Contest 3 1010 Rower Bo
- 2016 Multi-University Training Contest 3 Rower Bo
- [HDU5756] Boss Bo [2016 Multi-University Training Contest 3(2016多校联合训练3) E]
- (HDU 5754)2016 Multi-University Training Contest 3 Life Winner Bo (博弈/DP)
- [译]依赖反转在Android中的实践
- Zookeeper.NET Client (一)【自己编写客户端 连接实例】
- Android动画Animation
- CSS3 url()语法 绝对路径问题
- C++多重继承
- 2016 Multi-University Training Contest 3 Sqrt Bo
- Spring事务管理
- HDU 5084/BC 15C HeHe
- [转]博弈知识汇总
- android之selector
- iOS 最新版 CocoaPods 的安装流程
- C语言控制台注册登录 选择功能案例
- 1-Getting Started
- c#学习——一种List快速排序方法