题目描述
试计算在区间 1 到 n 的所有整数中,数字 x(0 ≤ x ≤ 9) 共出现了多少次?例如,在 1 到 11 中,即在 1,2,3,4,5,6,7,8,9,10,11 中,数字 1 出现了 4 次。
输入描述
2 个整数 n,x ,之间用一个空格隔开。1<=n<=1000000,0 ≤ x ≤ 9
输出描述
1 个整数,表示 x 出现的次数。
示例
输入:11 1
输出:4
JavaScript代码
class Solution {
solution(arr) {
var num = 0;
// TODO: 请在此编写代码
for (var j = 0; j <= arr.length - 2; ++j) {
num += Math.pow(10, arr.length - 2 - j) * arr[j];
}
return num;
}
a(num, x) {
var count = 0;
while (num != 0) {
if (num % 10 == x)
count++;
num = parseInt(num / 10);
}
return count;
}
}
var str_0 = readline();
var line_list_0 = str_0.trim().split(" ");
var arr = new Array();
for (var i = 0; i < line_list_0.length; i++) {
arr[i] = parseInt(line_list_0[i]);
}
let sol = new Solution();
let result = 0;
num = sol.solution(arr);
for (var i = 1; i <= num; ++i) {
result += sol.a(i, arr[arr.length - 1]);
}
print(result);
该程序使用JavaScript编写,功能是计算从1到n的整数范围内,数字x出现的次数。通过遍历和数学运算,分别计算给定数组和每个数中的x出现的频率,最终累加得到结果。
1050

被折叠的 条评论
为什么被折叠?



