[問題] 求小於2^64整數立方根 問題:TLE
( *[1m *[m 為色碼,可以按 Ctrl+V 預覽會顯示的顏色 )
( 未必需要依照此格式,文章條理清楚即可 )
遇到的問題: (題意請描述清楚)
TLE(10s)
希望得到的正確結果:
如何加速演算法
程式跑出來的錯誤結果:
開發平台: (例: VC++ or gcc/g++ or Dev-C++, Windows or Linux)
dev C++
有問題的code: (請善用置底文標色功能)
#include<iostream>
using namespace std;
int main()
{
unsigned long long n;
while(cin>>n)
{
if(!n)
break;
unsigned long long a=1;
while(a<=(n/a)/a)
{
if(a<=(n/a)/(a*1000000))
a*=100;
if(a<=(n/a)/(a*1000))
a*=10;
if(a<=(n/a)/(a*125))
a*=5;
if(a<=(n/a)/(a*27))
a*=3; //以上這麼一堆也不知道有沒有比較快@@還是反而比較慢?
if(a<=(n/a)/(a*8))
a*=2;
a++;
}
printf("%d\n",a-1);
}
return 0;
}
補充說明:
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.228.105.160
→
11/18 20:08, , 1F
11/18 20:08, 1F
→
11/18 20:09, , 2F
11/18 20:09, 2F
→
11/18 20:09, , 3F
11/18 20:09, 3F
推
11/18 21:55, , 4F
11/18 21:55, 4F
→
11/18 21:56, , 5F
11/18 21:56, 5F
→
11/18 21:57, , 6F
11/18 21:57, 6F
推
11/18 21:57, , 7F
11/18 21:57, 7F
推
11/19 01:53, , 8F
11/19 01:53, 8F
→
11/19 11:14, , 9F
11/19 11:14, 9F
推
11/19 14:22, , 10F
11/19 14:22, 10F
→
11/19 16:13, , 11F
11/19 16:13, 11F
→
11/19 16:14, , 12F
11/19 16:14, 12F
→
11/19 16:15, , 13F
11/19 16:15, 13F
推
11/19 23:27, , 14F
11/19 23:27, 14F
→
11/19 23:27, , 15F
11/19 23:27, 15F
→
11/19 23:28, , 16F
11/19 23:28, 16F
→
11/20 01:06, , 17F
11/20 01:06, 17F
→
11/20 01:07, , 18F
11/20 01:07, 18F