乙個正整數,如果交換高低位以後和原數相等,那麼稱這個數為回文數。
比如 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 必須...