#include <bits/stdc++.h>
using namespace std;
int finalDigit(long long x) {
while(x >= 10) {
long long prod = 1;
long long temp = x;
while(temp > 0) {
prod *= (temp % 10);
temp /= 10;
}
x = prod;
}
return (int)x;
}
int main(){
ios::sync_with_stdio(false);
cin.tie(nullptr);
int t;
cin >> t;
while(t--) {
long long n;
cin >> n;
long long counts[10] = {0};
for (long long i = 1; i <= n; i++) {
int fd = finalDigit(i);
counts[fd]++;
}
for (int d = 0; d < 10; d++) {
cout << counts[d] << (d == 9 ? " \n" : " ");
}
}
return 0;
}
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 34 35 36 37 38 | #include <bits/stdc++.h> using namespace std; int finalDigit(long long x) { while(x >= 10) { long long prod = 1; long long temp = x; while(temp > 0) { prod *= (temp % 10); temp /= 10; } x = prod; } return (int)x; } int main(){ ios::sync_with_stdio(false); cin.tie(nullptr); int t; cin >> t; while(t--) { long long n; cin >> n; long long counts[10] = {0}; for (long long i = 1; i <= n; i++) { int fd = finalDigit(i); counts[fd]++; } for (int d = 0; d < 10; d++) { cout << counts[d] << (d == 9 ? " \n" : " "); } } return 0; } |
English