我原本補0的方法是用字串:
1.宣告str={'\0'}
2.使用sprintf數字轉字串
3.str[strlen(str)]='0' //補0
4.使用atoi字串轉數字
我使用這樣的方法再搭配其他寫的程式碼有碰到第二題TLE的狀況
解決方法為「直接使用數字」做補0的動作
把數字中每一位數字抓出來乘10的n次方
n為遞增
這樣時間上可以減少許多,我也因此AC
詳細步驟:
1.宣告一個sum=0,i=1
while(原本的數字a!=0)
{
sum+=(a%10)*pow(10,i)
a/=10 //把最後一位削掉
i++ //次方遞增
}
我原本補0的方法是用字串:
1.宣告str={'\0'}
2.使用sprintf數字轉字串
3.str[strlen(str)]='0' //補0
4.使用atoi字串轉數字
我使用這樣的方法再搭配其他寫的程式碼有碰到第二題TLE的狀況
解決方法為「直接使用數字」做補0的動作
把數字中每一位數字抓出來乘10的n次方
n為遞增
這樣時間上可以減少許多,我也因此AC
詳細步驟:
1.宣告一個sum=0,i=1
while(原本的數字a!=0)
{
sum+=(a%10)*pow(10,i)
a/=10 //把最後一位削掉
i++ //次方遞增
}
OverflowError: int too large to convert to float ???