我們稱乙個數 x 為好數, 如果它的每位數字逐個地被旋轉 180 度後,我們仍可以得到乙個有效的,且和 x 不同的數。要求每位數字都要被旋轉。
如果乙個數的每位數字被旋轉以後仍然還是乙個數字, 則這個數是有效的。0, 1, 和 8 被旋轉後仍然是它們自己;2 和 5 可以互相旋轉成對方(在這種情況下,它們以不同的方向旋轉,換句話說,2 和 5 互為映象);6 和 9 同理,除了這些以外其他的數字旋轉以後都不再是有效的數字。
現在我們有乙個正整數 n, 計算從 1 到 n 中有多少個數 x 是好數?
輸入:
10輸出:
4解釋: 在[1
,10]中有四個好數: 2,5
,6,9。
注意 1 和 10 不是好數, 因為他們在旋轉之後不變。
public
introtateddigits
(int n)
else
if(k !=
0&& k !=
1&& k !=8)
n /=10;
}if(isgood)
res++;}
return res;
}
C 字串轉數字
c 字串與數字的轉換應該是很常見的問題,每次遇到了再去查有點費勁,乾脆記錄下來 stod 字串轉double stof 字串轉float stoi 字串轉int stol 字串轉long stold 字串轉double stoll 字串轉long long stoul 字串轉unsigned lon...
數字轉字串 字串轉數字
數字轉字串 這裡首先用到乙個陣列逆置函式如下 void reverse char arr 逆置 for p arr p arr p 將arr陣列逆置 因為將乙個數字轉成字串,若果是從右往左依次獲得,操作較容易,所以以此得到的字串是數字的逆序字串,所以要逆置,才可得到順序 如下 void myitoa...
字串轉數字
注意進製,注意小數,負數,指數。小數跟指數比較繁瑣。應該對字串做限制,字串只是整數字串。否則,以下幾種情況都是會報錯 1.0x011.011,0b011.011都是錯誤的。2.0100.011實際上是十進位制的100.01。3.指數表示造成邏輯更多了。鑑於以上幾個情況考慮,為簡化,整數字串轉數字。草...