牛牛想知道所有的长度为n的数中,各个位上的数字之和为m的这些数的和是多少呢。给定n和m,求这些数的和。
n才6,直接暴力输出,遍历1-1e6
class Solution {
public:
/**
* 返回这样的数之和
* @param n int整型 数的长度
* @param m int整型 各个为之和
* @return long长整型
*/
long long sum(int n, int m) {
// write code here
long long result=0;
for(int i=1;i<=1e6;i++){
int x=i,s=0,c=0;
while(x){
s+=x%10;
c++;//这个数的位数
x/=10;
}
if(s==m&&c==n)result+=i;//位数符合n,各位和=m
}
return result;
}
};
京公网安备 11010502036488号