#21877:


slime.creeper3@gmail.com (Slimlix)

學校 : 不指定學校
編號 : 108310
來源 : [114.27.68.205]
最後登入時間 :
2021-09-07 22:44:18
a040. 阿姆斯壯數 | From: [1.200.202.172] | 發表日期 : 2020-07-29 00:04

我是先寫一個可以判斷位數的函式,再一個可以擷取出某個位數的函式。

這樣在for迴圈裡就比較好處理,可以參考看看。

int count (int i) // 位數

{

int output = 1;

while (i/pow(10, output) > 1) output++;

return output;

}

int get(int input, int i) // 擷取某位

{

return (int)(input/pow(10, i-1))%10;

}

 
#22516: Re:思路


snakeneedy (蛇~Snake)

學校 : 國立高雄師範大學附屬高級中學
編號 : 7661
來源 : [114.40.8.251]
最後登入時間 :
2023-01-25 19:16:06
a040. 阿姆斯壯數 | From: [218.161.41.139] | 發表日期 : 2020-09-11 15:18

補充另一個判斷位數的方法

int countDigits(int num) {
  int digits = 1;
  for (; num >= 10; digits += 1, num /= 10);
  return digits;
}
 
ZeroJudge Forum