-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcount the digit.js
33 lines (27 loc) · 1.02 KB
/
count the digit.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
// Take an integer n (n >= 0) and a digit d (0 <= d <= 9) as an integer.
// Square all numbers k (0 <= k <= n) between 0 and n.
// Count the numbers of digits d used in the writing of all the k**2.
// Implement the function taking n and d as parameters and returning this count.
// Examples:
// n = 10, d = 1
// the k*k are 0, 1, 4, 9, 16, 25, 36, 49, 64, 81, 100
// We are using the digit 1 in: 1, 16, 81, 100. The total count is then 4.
// The function, when given n = 25 and d = 1 as argument, should return 11 since
// the k*k that contain the digit 1 are:
// 1, 16, 81, 100, 121, 144, 169, 196, 361, 441.
// So there are 11 digits 1 for the squares of numbers between 0 and 25.
// Note that 121 has twice the digit 1.
function nbDig(n, d) {
let arr = []
let count = 0
for (let i = 0; i <= n; i++) {
let temp = i * i
temp = temp.toString().split('')
for (let j = 0; j < temp.length; j++) {
if (temp[j]==d) {
count++
}
}
}
return count
}