雙重回文數(進製轉換)

2021-09-30 00:27:40 字數 948 閱讀 7356

題目描述

如果乙個數從左往右讀和從右往左讀都是一樣,那麼這個數就叫做「回文數」。例如,12321就是乙個回文數,而77778就不是。當然,回文數的首和尾都應是非零的,因此0220就不是回文數。

事實上,有一些數(如21),在十進位制時不是回文數,但在其它進製(如二進位制時為10101)時就是回文數。

編乙個程式,從檔案讀入兩個十進位制數

bullet n (1 <= n <= 15)

bullet s (0 < s < 10000)

然後找出前n個滿足大於s且在兩種以上進製(二進位制至十進位制)上是回文數的十進位制數,輸出到檔案上。

本問題的解決方案不需要使用大於4位元組的整型變數。

輸入只有一行,用空格隔開的兩個數n和s。

輸出n行, 每行乙個滿足上述要求的數,並按從小到大的順序輸出。

樣例輸入

3 25

樣例輸出

2627

28這道題就是找到n個2-10進製中至少有兩種進製數為回文數的數。

ac**:

#include

#include

intmain()

str1[len]

='\0'

;for

(k=len-

1;k>=

0;k--

)//這兩步我自己感覺用strcpy和strrev更簡單,但是我在提交的那個**把strrev給**了,一用就編譯錯誤,無奈只能用迴圈

str2[t3++

]=str1[k]

; str2[t3]

='\0';if

(strcmp

(str1,str2)==0

) sum++;}

if(sum>=2)

if(n==0)

break;}

}return0;

}

雙重回文數

問題描述 如果乙個數從左往右讀和從右往左讀都是一樣,那麼這個數就叫做回文數。例如,12321就是乙個回文數,而77778就不是。當然,回文數的首和尾都應是非零的,因此0220就不是回文數。事實上,有一些數 如21 在十進位制時不是回文數,但在其它進製 如二進位制時為10101 時就是回文數。編乙個程...

USACO 雙重回文數

如果乙個數從左往右讀和從右往左讀都是一樣,那麼這個數就叫做 回文數 例如,12321就是乙個回文數,而77778就不是。當然,回文數的首和尾都應是非零的,因此0220就不是回文數。事實上,有一些數 如21 在十進位制時不是回文數,但在其它進製 如二進位制時為10101 時就是回文數。編乙個程式,從檔...

Dual Palindromes 雙重回文數

如果乙個數從左往右讀和從右往左讀都是一樣,那麼這個數就叫做 回文數 例如,12321就是乙個回文數,而77778就不是。當然,回文數的首和尾都應是非零的,因此0220就不是回文數。事實上,有一些數 如21 在十進位制時不是回文數,但在其它進製 如二進位制時為10101 時就是回文數。編乙個程式,從檔...