題目描述:
給你一個僅由數位 6 和 9 組成的正整數 num。
你最多隻能翻轉一位數位,將 6 變成 9,或者把 9 變成 6 。
請返回你可以得到的最大數位。
範例 1:
輸入:num = 9669
輸出:9969
解釋:
改變第一位數位可以得到 6669 。
改變第二位數位可以得到 9969 。
改變第三位數位可以得到 9699 。
改變第四位數位可以得到 9666 。
其中最大的數位是 9969 。
範例 2:
輸入:num = 9996
輸出:9999
解釋:將最後一位從 6 變到 9,其結果 9999 是最大的數。
範例 3:
輸入:num = 9999
輸出:9999
解釋:無需改變就已經是最大的數位了。
提示:
1 <= num <= 10^4
num 每一位上的數位都是 6 或者 9 。
解答:
int maximum69Number (int num){
int count = 0, th = 0;
int temp = num;
while(temp){
count++;
if(temp%10 == 6)
th = count;
temp /= 10;
}
return num+3*pow(10,th-1);
}
執行結果: