【计蒜客】加一

版权声明:本文为博主原创文章,如果喜欢欢迎收藏转载! https://blog.csdn.net/houwanle/article/details/84196004

题目描述

数组内存放了一些个位数字,组成一个大数(从高位到低位),现在将这个数加 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] + " ");
			}
		}
	}
}

猜你喜欢

转载自blog.csdn.net/houwanle/article/details/84196004
今日推荐