1. 程式人生 > >Java【計蒜客】加一

Java【計蒜客】加一

陣列記憶體放了一些個位數字,組成一個大數(從高位到低位),現在將這個數加 11,並輸出加一以後的結果。

例如:

 

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),接下來的一行,輸入用空格分隔的 nn 個 00 到 99 的非負整陣列成的陣列 A[n]A[n]。

輸出格式

輸出一行,nn 個用空格分隔的整數,表示加一後的新陣列。

樣例輸入複製

5
8 9 9 9 9

樣例輸出複製

9 0 0 0 0

//可以用兩個陣列來操作就很簡單了

import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		int[] arr = new int[n];
		for (int i = 0; i < n; i++) {
			arr[i] = sc.nextInt();
		}
		int[] arr2 = new int[n + 1];
		arr2[n] += 1;
		for (int i = n - 1, j = n; i >= 0; i--, j--) {
			arr2[j] += arr[i];
			if (arr2[j] == 10) {
				arr2[j] = 0;
				arr2[j - 1] += 1;
			}
		}
		String s = "";
		for (int i = 0; i < arr2.length; i++) {
			if (i == 0 && arr2[0] == 0) {
				continue;
			}
			s += arr2[i] + " ";
		}
		System.out.println(s.trim());
		sc.close();
	}
}