c語言求回文數的三種演算法的描述

2022-09-19 01:03:11 字數 1347 閱讀 8872

輸入:3

輸出:90

輸入:5

輸出:900

輸入:

10輸出:

90000

輸入:8

輸出:9000

輸入:1

輸出:10

通過for迴圈讀入這個數,通過/和%操作將這個資料逆轉,然後再對比逆轉後的數字是否和原數字相等

通過for迴圈讀入這個數,每次取頭位乙個數字和末位乙個數字,依次比較這兩個數字是否相等,再去掉這兩個數字,直到剩下乙個數字(位數為奇數)或者剩下兩個數字(位數為偶數)

通過數學關係,直接判斷位數,算出這個位數內的回文數個數;

1. 第一種思路:
#include #include int reverse(long int i,long int *terminate)        //遞迴函式求數值的逆序

else

return 1;

}int main ()

for (i=pow(10,n-1);i

2. 第二種思路:

#include #include int judge(int i,int n)

else

int tem=pow(10,n-1);

judge(i%tem/10,n-2); //剔除頭尾剩下中間,位數減二

}}int main ()

int i;

int count=0;

long long low=pow(10,n-1); //迴圈入口

long long high=pow(10,n); //迴圈出口

for (i=low;i

3. 第三種思路:

#include #include int main ()

else if (n==2)

else if (n%2==1)

else if (n%2==0)

return 0;

}

回文數的判斷 三種方法

最近做了一點關於回文數的總結。首先先寫一篇關於回文數判斷的幾種方法。回文數的概念 即是給定乙個數,這個數順讀和逆讀都是一樣的。例如 121,1221是回文數,123,1231不是回文數。方法一 試用情境,處理小數字。使用數學方法。輸入的回文數x的範圍為x 10 9,int儲存,或者x 10 18,l...

Python 回文數的三種實現方法

題目 找出五位數中的回文數,列印並計算個數。思路 回文數是對稱數,指正向讀與反向讀是相同的,如12321,33433等。因此可以利用正向與反向相同或對稱位數字相同來判斷。解法1 利用字串反轉,判斷反轉前後是否相等 count 0for num in range 10000 99999 ifstr n...

C語言求冪的三種方法

直接對x乘y次 int result int x,int y return num 這種方法有手就行,但是執行時間往往過長 主要利用遞迴,它的思想類似於分治,把大問題分割為小問題,再將小問題的結果合計為大問題的解 t 4 t2 t 2t t t t4 t2 t2所以我們可以對冪指數進行不斷的二分,達...