導航:首頁 > 源碼編譯 > 迴文數演算法描述及實驗步驟

迴文數演算法描述及實驗步驟

發布時間:2024-12-13 14:15:13

Ⅰ 設計一個演算法,判斷一個正的n(n>2)位數是不是迴文數,用自然語言描述演算法步驟。

設這個數為a,b=log10(n)取整可表示其位數。
先通過演算法確定每一位的數字,a1=a/(10^b)取整,a2=(a-a1*10^b)/10^(b-1)。。。。,依次得到各個位數。
然後從第一和最後開始比較,各位數是否相等,如首位數和末位數是否相同。
若都相同才是迴文數,否則就不是。

Ⅱ [演算法筆記]求最大迴文數

小碼哥在數學王國是個對迴文數著迷的孩子。他計劃在數字商店購買一個最大的迴文數,每個數的價格等同於該數的值。小碼哥手上有n塊錢,他想知道能買到的最大迴文數是多少。

輸入格式:一個正整數n,表示小碼哥的零花錢,其中包含前導零。

輸出格式:輸出一個正整數,表示小碼哥能買到的最大迴文數。

輸入示例:648

輸出示例:646

備註:數字長度不超過200。

解題思路:去除前導零後,從前到後遍歷迴文數的一半部分。若當前字元小於等於其對稱位置的字元,直接更新對稱位置的字元;反之,需要向前借位。若遇到前一位為0,則將其設為9,繼續借位,直到遇到非零數字。若借到首位且原來為1,現為0,則說明數字為1後跟若干個0,直接輸出除去首位外的9個數。

Ⅲ 迴文數的迴文數演算法

隨意找一個十進制的數,把它倒過來成另一個數,再把這兩個數相加,得一個和數,這是第一步;然後把這個和數倒過來,與原來的和數相加,又得到一個新的和數,這是第二步。照此方法,一步步接續往下算,直到出現一個「迴文數」為n。例如:28+82=110,110+011=121,兩步就得出了一個「迴文數」。如果接著算下去,還會得到更多的「迴文數」。這個過程稱為「196演算法」。

Ⅳ 可以幫我解釋一下這段 C語言 的迴文數的演算法嗎

這段代碼就是把m顛倒過來,然後將這個數與原來的數進行比較,如果相等就說明是迴文數。比如m為1234321,顛倒過來還是1234321,與原來相等,說明1234321是迴文數。其實有快的,將數作為字元串讀入,然後對字元串分別從首尾開始掃描判斷是否相等,這樣比乘除法更高效。代碼如下:
#include <stdio.h>
#include <string.h>
bool isHuiwen(char str[])
{
int i,j;
for (i = 0,j = strlen(str) - 1; i < strlen(str) / 2; i++,j--)
{
if (str[i] != str[j])
return false;
}
return true;

}
int main()
{
int i;
char str[100];
while (scanf ("%s",str))
{
if (isHuiwen(str))
printf ("Yes\n");
else
printf ("No\n");
}
return 0;

}

閱讀全文

與迴文數演算法描述及實驗步驟相關的資料

熱點內容
vmpexe無效命令 瀏覽:31
濟南兒童機器人編程 瀏覽:655
多個圖片分組到多個文件夾 瀏覽:111
現在安卓手機彩信怎麼發 瀏覽:223
vb壓縮圖片 瀏覽:770
linuxmcrypt擴展 瀏覽:359
路亞解壓視頻教學 瀏覽:337
四度指標源碼 瀏覽:440
怎麼發視頻安卓系統 瀏覽:743
ug螺旋槽編程方法 瀏覽:753
app文件夾怎麼改路徑 瀏覽:46
使用ftp連接雲伺服器 瀏覽:97
雲伺服器如何把埠映射到本地 瀏覽:996
什麼叫瀏覽器伺服器模式 瀏覽:19
html中引用php文件 瀏覽:879
集合石命令 瀏覽:186
flashas程序員 瀏覽:869
煙台市工資演算法 瀏覽:243
新超越極限在哪個文件夾 瀏覽:385
如何在自己電腦搭建個小型伺服器 瀏覽:52