题解 | #多多的数字组合#

多多的数字组合

http://www.nowcoder.com/practice/3d6b53e097ea41bda049d111f30db28e

多多的数字组合

#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;
}
全部评论

相关推荐

尊嘟假嘟点击就送:加v细说,问题很大
点赞 评论 收藏
分享
offer多多的六边形战士很无语:看了你的博客,感觉挺不错的,可以把你的访问量和粉丝数在简历里提一下,闪光点(仅个人意见)
点赞 评论 收藏
分享
评论
1
收藏
分享
牛客网
牛客企业服务