第三场(A-位数求和)

链接:https://ac.nowcoder.com/acm/contest/6220/A
来源:牛客网

题目描述:
牛牛想知道所有的长度为n的数中,各个位上的数字之和为m的这些数的和是多少呢。给定n和m,求这些数的和。

输入
2,3
输出
63
说明:12 + 21 +30 = 63
备注:
解题思路:
暴力遍历,判断各数的各位数字之和是否等于m,满足条件的累加即可。
代码:

class Solution {
public:
    /**
     * 返回这样的数之和
     * @param n int整型 数的长度
     * @param m int整型 各个为之和
     * @return long长整型
     */
    long long sum(int n, int m) {
        // write code here
        long long res = 0;
        int start = pow(10, n - 1), end = pow(10, n) - 1;
        for(int i = start; i <= end; ++i) {
            if(fun(i) == m) res += i;
        }
        return res;
    }

    long long fun(int k) {
        long long res = 0;
        while(k) {
            res += k % 10;
            k /= 10;
        }
        return res;
    }
};
全部评论

相关推荐

12-27 22:14
门头沟学院 Java
点赞 评论 收藏
分享
专业嗎喽:个人信息名字太大,合到电话邮箱那一栏就行,有党员写过党,剩下其他全删,站空太大了 把实习经历丰富,放最前面,然后是个人评价,技能之类的,然后是学校信息。项目经历最后面,可以就选一个自己擅长的。 现在是学校不是92就扣分的,没必要放前面。 然后现在看重实习经历>竞赛经历(校园经历)>课程项目经历
点赞 评论 收藏
分享
Richard奇:还得是有鹅选鹅
投递腾讯等公司9个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务