多多君最近在研究某种数字组合:
定义为:每个数字的十进制表示中(0~9),每个数位各不相同且各个数位之和等于N。
满足条件的数字可能很多,找到其中的最小值即可。
多多君还有很多研究课题,于是多多君找到了你–未来的计算机科学家寻求帮助。
数据范围:
进阶:空间复杂度 ,时间复杂度
package com.xh;
import java.util.Scanner;
public class Main {
public static void main(String[] args){
Scanner n = new Scanner(System.in);
int N = n.nextInt();
if(N > 45){
System.out.println(-1);
return;
}
if(N < 10){
System.out.println(N);
return;
}
int num = 0;
int dig = 0;
for(int i=9;i>0;i--){
if(N != 0 && i<=N){
N -= i;
num += (int)Math.pow(10,dig)*i;
dig++;
}
}
System.out.println(num);
}
}