計蒜客題庫加一(簡單)

2021-08-21 03:16:29 字數 1099 閱讀 8553

1,並輸出加一以後的結果。

例如:a = [2,3,1,1,4]a=

[2,3

,1,1

,4]

則結果為 [2,3,1,1,5][2

,3,1

,1,5

]。a = [7,8,9]a=

[7,8

,9]

則結果為 [7,9,0][7

,9,0

]。第一行輸入乙個正整數 n(1 \leq n \leq 100)n(

1≤n≤

100)

,接下來的一行,輸入用空格分隔的 n

n 個 0

0 到 9

9 的非負整數組成的陣列 a[n]a[

n]。輸出一行,n

n 個用空格分隔的整數,表示加一後的新陣列。

5

8 9 9 9 9

樣例輸出

9 0 0 0 0

其實這道題目我沒有用到演算法,只是通過邏輯關係算出來的,沒有太多技巧,分為幾種情況來說吧,一種是輸入的陣列中是沒有9這個元素的情況,這樣很簡單,我們可以直接將陣列最後乙個元素直接加一即可其他陣列元素不變,然而我們還需要考慮陣列中存在9這個元素,我們該怎麼做呢,首先,我們通過迴圈從最後一位往前迴圈,如果遇到乙個9,那麼將他置於0,然後我們再判斷前乙個元素是否為9,如果不為9,那麼給前乙個元素加上一跳出整個迴圈,如果前乙個元素為9說明還要進製,所以我們應該跳出當前迴圈進入下一次迴圈,我測了很多組資料都是對的,可偏偏就一組不能通過,後來我想到了乙個特殊情況,比如9 9 9 9 9,那麼輸出應該是進製後的1 0 0 0 0 0,但是陣列規定長度後又不好增加,所以我們可以通過判斷進製後陣列中的乙個元素是否為0,若為0我們可以先列印乙個1這樣就可以了。

源**:

#include

using namespace std;

int a[101];

int main()

for(int i=n-1;i>=0;i--)

if(a[i]==9)

if(a[i-1]==9)

continue;}}

if(a[0]==0)

{cout<<"1 ";

for(int i=0;i

計蒜客 加一

陣列內存放了一些個位數字,組成乙個大數 從高位到低位 現在將這個數加 1 並輸出加一以後的結果。例如 a 2,3,1,1,4 則結果為 2,3,1,1,5 a 7,8,9 則結果為 7,9,0 第一行輸入乙個正整數 n 1 n 1 00 接下來的一行,輸入用空格分隔的 n 個 0到 9 的非負整數組...

計蒜客題目 加一

陣列內存放了一些個位數字,組成乙個大數 從高位到低位 現在將這個數加 1,並輸出加一以後的結果。例如 a 2,3,1,1,4 則結果為 2,3,1,1,5 a 7,8,9 則結果為 7,9,0 第一行輸入乙個正整數 n 1 n 100 接下來的一行,輸入用空格分隔的 n 個 0 到 9 的非負整數組...

計蒜客 難題題庫 217 階乘

n的階乘定義為n 1 2 3 n 如3 6 n 通常最後會有很多0,如5 120 最後有乙個0,現在統計n 去除末尾的0後,最後k位是多少 輸入格式 第一行包括兩個數n,k 輸出格式 如果n 不止k位,則輸出最後k位,如果不足k位,則將剩下的全部輸出 7!為5040,去除末尾的0為504,最後兩位為...