【計蒜客】加一
阿新 • • 發佈:2018-12-22
題目描述
陣列記憶體放了一些個位數字,組成一個大數(從高位到低位),現在將這個數加 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的非負整陣列成的陣列 A[n]。
輸出格式
輸出一行,n個用空格分隔的整數,表示加一後的新陣列。
樣例輸入
5 8 9 9 9 9
樣例輸出
9 0 0 0 0
AC程式碼
import java.util.Scanner; public class Main { public static void main(String[] args){ Scanner sc = new Scanner(System.in); int len = sc.nextInt(); int[] arr1 = new int[len]; int[] arr2 = new int[len+1]; for(int i = 0; i < len; i++){ arr1[i] = sc.nextInt(); } arr1[len-1] += 1; for(int i = len-1; i > 0; i--){ if(arr1[i] == 10){ arr1[i] = 0; arr1[i-1] += 1; } } int flag = 0; if(arr1[0] == 10){ arr2[0] = 1; arr2[1] = 0; flag++; if(len+1>2){ for(int i = arr1.length-1; i >= 2; i--){ arr2[i] = arr1[i]; } } } if(flag == 0){ for(int i = 0; i < len; i++){ System.out.print(arr1[i] + " "); } }else { for(int i = 0; i <= len; i++){ System.out.print(arr2[i] + " "); } } } }