HDU-2016 Multi-University Training Contest 3-Sqrt Bo-大數開方
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 number y 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 y 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.
Input
This problem has multi test cases(no more than 120).
Each test case contains a non-negative integer n(n<10100).
Each test case contains a non-negative integer n(n<10100).
Output
For each test case print a integer - the answer y or
a string "TAT" - Bo can't solve this problem.
Sample Input
233
233333333333333333333333333333333333333333333333333333333
Sample Output
3
TAT
題目意思:
對一個數開方,能在五次之內取整得到0的就輸出次數;不能或者是0的話就輸出TAT。。
解題思路:
這題longlong暴力就能過,隊友很快就過了~然而我當時沒想到,只想到了大數……QwQ
吭哧吭哧改了半天……才過…╮(╯▽╰)╭
longlong的程式碼很簡單我就不寫了,下面給出我寫的大數的…這個模板說不定以後用的上呢~2333
#include <iostream>
using namespace std;
#include <stdlib.h>
#include <string.h>
#define MAXN 1000000
int j,l,size,num,x[MAXN];
char ch[MAXN],ans[MAXN];
void sqrt(char *str)//大數求平方
{
double i,r,n;
size=strlen(str);
if (size%2==1)
{
n=str[0]-48;
l=-1;
}
else
{
n=(str[0]-48)*10+str[1]-48;
l=0;
}
r=0,num=0;
while (true)
{
i=0;
while (i*(i+20*r)<=n)
++i;
--i;
n-=i*(i+20*r);
r=r*10+i;
x[num]=(int)i;
++num;
l+=2;
if (l>=size)
break;
n=n*100+(double)(str[l]-48)*10+(double)(str[l+1]-48);
}
}
int main()
{
while (cin>>ch)
{
int flag=0;
sqrt(ch);
if((x[num-1]==1)&&num==1)//注意判斷條件
{
cout<<"1"<<endl;
flag=1;
goto A;
}
for(int i=2; i<=5; ++i)//最多計算五次
{
for (j=0; j<num; ++j)
ans[j]='0'+x[j];//int轉char
ans[num]='\0';//注意末尾別忘了加結束符
//cout<<ans<<endl;
sqrt(ans);//開方
if((x[num-1]==1)&&num==1)
{
cout<<i<<endl;//輸出次數
flag=1;//標記
break;
}
}
A: if(!flag)
cout<<"TAT"<<endl;//超過五次或者為0時
}
return 0;
}
相關文章
- 2018 Multi-University Training Contest 3 - HDU ContestAI
- HDU 6039 Gear Up(2017 Multi-University Training Contest 1)AI
- HDU 5235 Friends (2015 Multi-University Training Contest 2 搜尋+剪枝)AI
- 2018 Multi-University Training Contest 9----hdu 6415 Rikka with Nash EquilibriumAIUI
- 【HDU5738 2016 Multi-University Training Contest 2E】【平面點數計數 共線判定】Eureka 平面有多少個集合滿足貢獻AI
- 開方數_ny_773(大數).javaJava
- 【HDU5734 2016 Multi-University Training Contest 2A】【公式代入推導】Acperience n維向量各有加減最小模長AI公式
- 【HDU5735 2016 Multi-University Training Contest 2B】【暴力做法 + 折半法】Born Slippy 祖先鏈的最大運算權值AI
- The 2024 Hunan Multi-School Programming Training Contest, Round 4NaNAI
- Contest5408 - 數論函式函式
- recovery training articleAI
- AtCoder Beginner Contest 370 E(計數 + DP)
- NX11 TrainingAI
- online trainingAI
- Training - Problem and Change ManagementAI
- Oracle Training NotesOracleAI
- Oracle Application TrainingOracleAPPAI
- SAP outsource training courseAI
- Crystal report trainingAI
- Spring Training 5SpringAI
- 拉丁方的衍生遊戲“數獨”遊戲
- JavaScript 開方運算JavaScript
- 2017中國大學生程式設計競賽 - 女生專場(SDKD 2024 Summer Training Contest K2)程式設計AI
- Weekly Contest 387
- 2024 (ICPC) Jiangxi Provincial Contest -- Official Contest
- SAP MM (Material Management) Training TutorialAI
- Making training mini-batchesAIBAT
- Taught Oracle database OCP training courseOracleDatabaseAI
- Agile PLM 9.3 BootCamp Training - ShanghaibootAI
- Intermediate Crystal Reports XI TrainingAI
- 開展企業大資料,從數塔•Datale開始大資料
- 蘋果與Epic大戰,開放第三方支付≠廢除“蘋果稅”蘋果
- The 2024 CCPC Shandong Invitational Contest and Provincial Collegiate Programming Contest
- java列印出迴文數格式方陣Java
- 等頻率直方圖計算基數直方圖
- 深度學習(模型引數直方圖)深度學習模型直方圖
- SAP SD (Sales & Distribution) Training TutorialAI
- SAP PP (Production Planning) Training TutorialAI