小b覺得回文數很美。
對於乙個正整數x,如果從左到右讀和從右到左讀是一樣的,則稱x為回文數。
例如"123",從右到左讀是"321",所以它不是回文數;而"121"則是回文數。
現在給定整數n,求距離n最近的回文數。即找到乙個回文數x(本題x不能等於n),使得|x-n|最小。如果有多個滿足條件的x,輸出最小的那個。
總是想到了這個漏了那個,一道題做了兩天/(ㄒoㄒ)/~~
最後看了大佬的**又覺得好簡單/(ㄒoㄒ)/~~
思路就是列舉情況判斷,主要是要糾結怎麼列舉好每一種情況
#includeusing namespace std;
typedef long long ll;
ll n,pw[20];
char s[20];
int a[20],len;
vectorv;
ll calc()
//以77800為例
int main()
v.push_back
(pw[len]+1)
;//上界 1000001
v.push_back
(pw[len-1]-1)
;//下界 9999
//cout<" "
<;
if(len&1)//奇長度
}else//偶長度
} ll dif=0x3f3f3f3f3f,ans;
for(int i=0;i<(int)v.size()
;i++)
if(abs(n-v[i])0)//不能為原來的數
cout<;
return 0;
}
1999提高組 B 回文數
注意對16進製制字母進行操作 題目描述 若乙個數 首位不為零 從左向右讀與從右向左讀都一樣,我們就將其稱之為回文數。例如 給定乙個 10 進製數 56,將 56 加 65 即把 56 從右向左讀 得到 121 是乙個回文數。又如 對於 10 進製數 87 step1 87 78 165 step2 ...
列舉平方數 小技巧
給出長度為n的序列a,求有多少對數對 i,j 1 i j n 滿足 ai aj 為完全平方數。第一行乙個整數 n 1 n 105 第二行 n 個整數 ai 1 ai 105 輸出乙個整數,表示滿足上述條件的數對個數。示例1 複製3 1 3 6 複製2 滿足條件的有 1,2 2,3 兩對。有幾個需要注...
計算質數和回文數的小程式
ruby 如下 1 def iszhishu?num 2 count 23 while count num do4 return false if num count 05 count count 16 end7 8 return true9 end10 11 def ishuiwen?num 12...