LeetCode:1323. Maximum 69 Number6 和 9 組成的最大數位(C語言)

2020-08-09 14:01:13

題目描述:
給你一個僅由數位 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);
}

執行結果:
在这里插入图片描述