東華複試70 回文數

2021-10-05 19:45:54 字數 1323 閱讀 6536

70 回文數

問題描述 :

若乙個數(首位不為零)從左向右讀與從右向左讀都一樣,我們就將其稱之為回文數。

我們現在需要產生回文數,步驟如下:
給定乙個10進製數56,將56加65(即把56從右向左讀),得到121是乙個回文數。

又如:對於10進製數87:

step1:87+78 = 165

step2:165+561 = 726
step3:726+627 = 1353

step4:1353+3531 = 4884
在這裡的「一步」是指進行了一次n進製的加法,上例最少用了4步得到回文數4884。

寫乙個程式,給定乙個n(2<=n<=10或n=16)進製數m(其中16進製制數字為0-9與a-f),求最少經過幾步可以得到回文數。

如果在30步以內(包含30步)不可能得到回文數,則輸出「impossible!」

輸入說明 :

兩行,n與m

輸出說明 :

如果能在30步以內得到回文數,輸出「step=xx」(不含引號),其中xx是步數;否則輸出一行」impossible!」(不含引號)

輸入範例 :987

輸出範例 :

step=6

/**

*/#include

#include

char transfer_number[

100]

;int tempory ;

inthuiwen()

return1;

}void

transfer

(int n,

int s)

transfer_number[tempory]

='\0';}

intmain()

}else

int count =0;

//總次數

while

(count <=30)

int s = sum + sum1;

transfer

(n, s)

; count++;if

(huiwen()

)else sum = s;

memset

(transfer_number,0,

sizeof

(char))

;}if(count>30)

printf

("impossible!\n");

return0;

}

占個坑,轉換為對應的進製求回文數怎麼都 不對啊

東華OJ 77 回文問題

問題描述 輸入一串字元,其長度小於200,判斷該串字元是否構成回文。所謂回文是指從左到右和從右到左讀一串字元的值是一樣的,如 abcba。輸入說明 你的程式需要從標準輸入裝置 通常為鍵盤 中讀入多組測試資料。每組輸入資料由一行字元組成,它們之間沒有空格,在行首和行尾沒有多餘的空格。輸出說明 對每組測...

52 回文平方數

52 回文平方數 問題描述 回文數是指從左向右念和從右向左唸都一樣的數。如12321就是乙個典型的回文數。給定乙個進製b 2 輸入說明 共一行,乙個單獨的整數b b用十進位制表示,比如18 輸出說明 每行兩個數字,第二個數是第乙個數的平方,且第二個數是回文數。注意 輸出時,這兩個數都應該以b進製表示...

1282 回文數猜想

problem description 乙個正整數,如果從左向右讀 稱之為正序數 和從右向左讀 稱之為倒序數 是一樣的,這樣的數就叫回文數。任取乙個正整數,如果不是回文數,將該數與他的倒序數相加,若其和不是回文數,則重複上述步驟,一直到獲得回文數為止。例如 68變成154 68 86 再變成605 ...