回文數,是指正著讀、反著讀,都相同的數字。如:1221、13531...等等。
任取乙個十進位制整數,用下面的方法可以求出乙個回文數:
把這個數字的各個位,顛倒前後位置,形成乙個新數,再和原數相加,得到的和,就可能是乙個回文數。
如果不是回文數,就再重複上述的步驟,則最終可得到回文數。
如十進位制數是 78,則形成回文數的過程為:
78 + 87 = 165
165 + 561 = 726
726 + 627 = 1353
1353 + 3531 = 4884
上述方法,尚沒有得到數學上的理論證明,屬於乙個猜想。可以編寫乙個程式來加以驗證。
要求在輸入乙個數字後,顯示出來計算的過程。
做而論道程式設計如下:
#include
unsigned int f1(unsigned int x)
return y; }
unsigned int f2(unsigned int x)
void main()
printf("hui wen shu = "); printf("%u", i);
printf("\n\n"); }
這個程式執行時,顯示如下:
input a number: 8627
8627 + 7268 = 15895
15895 + 59851 = 75746
75746 + 64757 = 140503
140503 + 305041 = 445544
hui wen shu = 445544
press any key to continue
C語言求最近回文數
輸入乙個不大於1e4的正整數,輸出最接近它的回文數,如果同時有兩個數都一樣接近,就輸出較小的。最近的 說明絕對差值是最小的。include include int inspect int x 寫乙個檢查函式,檢查是否是回文數 if y s return 1 else return 0 int mai...
C語言 判斷乙個數是不是回文數
所謂回文數,就是說乙個數字從左邊讀和從右邊讀的結果是一模一樣的,例如12321。判斷給出的整數是否是回文數 若是,則輸出該整數各位數字之和 否則輸出該數不是乙個回文數。原理大致為 任何乙個數除以10的餘數就是該數最後一位 任何乙個數除以10的商就是排除掉最後一位後的數 所以 乙個數1234 就可以通...
求乙個數字是否是回文數
判斷乙個整數是否是回文數。回文數是指正序 從左向右 和倒序 從右向左 讀都是一樣的整數。示例 1 輸入 121 輸出 true示例 2 輸入 121 輸出 false 解釋 從左向右讀,為 121 從右向左讀,為 121 因此它不是乙個回文數。示例 3 輸入 10 輸出 false 解釋 從右向左讀...