藍橋杯 基礎練習 特殊回文數(思路 詳解)

2021-07-10 07:16:48 字數 1860 閱讀 2750

題目要求如下:

問題描述

123321是乙個非常特殊的數,它從左邊讀和從右邊讀是一樣的。

輸入乙個正整數n, 程式設計求所有這樣的五位和六位十進位制數,滿足各位數字之和等於n 。

輸入格式

輸入一行,包含乙個正整數n。

輸出格式

按從小到大的順序輸出滿足條件的整數,每個整數佔一行。

樣例輸入

52

樣例輸出

899998

989989

998899

資料規模和約定

1<=n<=54。

思路:

首先我將5位數和6位數分開求。

以6位數為例,當我們輸入52,並且假如此時迴圈變數i迴圈到了899998,我們將i的每一位提取出來,放入陣列中。

**為:

while(temp>0) //將數 pnumber的每一位分解出來,存入陣列

3.  然後判斷分解出來的每一位加起來是否等於我們輸入的52,如果相等,則判斷left是否等於right,如果相等,則為回環數。否則退出此處迴圈,迴圈變數加1,進入下一次迴圈。**為:

if(narray[0]+narray[1]+narray[2]+narray[3]+narray[4]==n)	//判斷pnumber的各位相加是否等於輸入的n 

if(narray[0]+narray[1]+narray[2]+narray[3]+narray[4]==n) //判斷pnumber的各位相加是否等於輸入的n

if(narray[0]+narray[1]+narray[2]+narray[3]+narray[4]+narray[5]==n) //判斷pnumber的各位相加是否等於輸入的n

{left=narray[0]*100+narray[1]*10+narray[2];

right=narray[5]*100+narray[4]*10+narray[3];

if(left==right) //判斷左邊是否等於右邊

{cout<

輸入測試資料:52

執行結果:

藍橋杯練習系統測試結果:

注:本程式在devc++中測試通過。

藍橋杯基礎練習 特殊回文數

時間限制 1.0s 記憶體限制 512.0mb 問題描述 123321是乙個非常特殊的數,它從左邊讀和從右邊讀是一樣的。輸入乙個正整數n,程式設計求所有這樣的五位和六位十進位制數,滿足各位數字之和等於n 輸入格式 輸入一行,包含乙個正整數n。輸出格式 按從小到大的順序輸出滿足條件的整數,每個整數佔一...

藍橋杯「基礎練習 特殊回文數

問題描述 123321是乙個非常特殊的數,它從左邊讀和從右邊讀是一樣的。輸入乙個正整數n,程式設計求所有這樣的五位和六位十進位制數,滿足各位數字之和等於n 輸入格式 輸入一行,包含乙個正整數n。輸出格式 按從小到大的順序輸出滿足條件的整數,每個整數佔一行。樣例輸入 52樣例輸出 899998 989...

藍橋杯 基礎練習 特殊回文數

問題描述 123321是乙個非常特殊的數,它從左邊讀和從右邊讀是一樣的。輸入乙個正整數n,程式設計求所有這樣的五位和六位十進位制數,滿足各位數字之和等於n 輸入格式 輸入一行,包含乙個正整數n。輸出格式 按從小到大的順序輸出滿足條件的整數,每個整數佔一行。樣例輸入 樣例輸出 899998 98998...