計蒜客 12 回文數

2021-09-09 06:18:25 字數 1620 閱讀 1605

乙個正整數,如果交換高低位以後和原數相等,那麼稱這個數為回文數。

比如 121

12112

1,2332

2332

2332

都是回文數,13

1313

,4567

4567

4567

不是回文數。

任意乙個正整數,如果其不是回文數,將該數交換高低位以後和原數相加得到乙個新的數,如果新數不是回文數,重複這個變換,直到得到乙個回文數為止。

例如,57

5757

變換後得到 132(57

+75)132(57 + 75)

132(57

+75)

,132

13213

2 得到 363

(132

+231

)363(132 + 231)

363(13

2+23

1),363

36336

3 是乙個回文數。

曾經有數學家猜想:對於任意正整數,經過有限次上述變換以後,一定能得出乙個回文數。

至今這個猜想還沒有被證明是對的。

現在請你通過程式來驗證。

輸入格式

輸入一行乙個正整數 nnn。

輸出格式

輸出第一行乙個正整數,表示得到乙個回文數的最少變換次數。

接下來一行,輸出變換過程,相鄰的數之間用"—>"連線。

輸出格式可以參見樣例。

保證最後生成的數在 int 範圍內。

樣例輸入

樣例輸出

349—>1292—>4213—>7337

題外話:判斷回文數,使用字串處理方式。回文數關於中心對稱。

#include#includeint main()

}if(flag==1)

printf("yes");

else

printf("no");

return 0;

}

使用stringstream進行資料型別轉換

**

#include#include #include #include //#include萬能標頭檔案 

using namespace std;

//交換模板

templatevoid swap(t &a,t &b)

//判斷是否為回文數,使用字串處理方式,回文數關於中心對稱

bool judgement(string s)

return flag;

}//交換數字字元位置並相加得字串

計蒜客 1409 回文字串(dp)

所謂回文字串,就是乙個字串,從左到右讀和從右到左讀是完全一樣的,比如 aba 當然,我們給你的問題不會再簡單到判斷乙個字串是不是回文字串。現在要求你,給你乙個字串,可在任意位置新增字元,最少再新增幾個字元,可以使這個字串成為回文字串。輸入格式 第一行給出整數 nn 0接下來的 nn 行,每行乙個字串...

計蒜客 取數遊戲

有如下乙個雙人遊戲 n個正整數的序列放在乙個遊戲平台上,兩人輪流從序列的兩端取數,每次有數字被乙個玩家取走後,這個數字被從序列中去掉並累加到取走該數的玩家的得分中,當數取盡時,遊戲結束。以最終得分多者為勝。編乙個執行最優策略的程式,最優策略就是使自己能得到在當前情況下最大的可能的總分的策略。你的程式...

計蒜客 兩數之和

給定乙個陣列 number inumberi 找到兩個數,使得他們的和為乙個給定的數值 targettarget。其中 number index 1 number index 2 targetnumber index1 number index2 target。注意 index 1index1 必須...