多多的数字组合
#include<stdio.h>
int pow(int num, int n){
int temp = num;
if(n == 0){
return 1;
}
for(int i=1;i<n;i++){
num = num * temp;
}
//printf("num = %d\n",num);
return num;
}
int main(){
int num = 0, result = 0;
scanf("%d\n",&num);
//1~9 累加最大的值为45,如果超过则肯定重复了
if(num>45){
printf("%d\n",-1);
return 0;
}
int temp = num;
for(int i=9; i>=0; i--){
temp -= i;
if(temp<=0){
printf("%d\n",num);
break;
}
//官方编译引入的pow不能用,只能自己写了
result += i*pow(10,10-i-1);
if(temp<i){
result += temp*pow(10,10-i);
printf("%d\n",result);
break;
}
}
return 0;
} 
京公网安备 11010502036488号