#include <cstdio>
#include <cstdint>
#include <cinttypes>
bool test(uint64_t number) {
// size_t size = sizeof(uint64_t);
uint8_t digit;
uint8_t i = 0;
uint64_t temp = number;
while (temp) {
digit = temp % 10;
temp /= 10;
if (digit == 0) {
return false;
}
if (number % digit != 0) {
return false;
}
}
return true;
}
int main() {
uint64_t l, r;
int num = 0;
scanf("%" PRIu64 " %" PRIu64 "", &l, &r);
if (l >= 1 && r >= l && r < 10e18 && l < 10e18) {
for (l; l <= r; l++) {
if (test(l)) {
num++;
}
}
printf("%d\n", num);
return 0;
} else {
return -1;
}
}
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 39 40 41 | #include <cstdio> #include <cstdint> #include <cinttypes> bool test(uint64_t number) { // size_t size = sizeof(uint64_t); uint8_t digit; uint8_t i = 0; uint64_t temp = number; while (temp) { digit = temp % 10; temp /= 10; if (digit == 0) { return false; } if (number % digit != 0) { return false; } } return true; } int main() { uint64_t l, r; int num = 0; scanf("%" PRIu64 " %" PRIu64 "", &l, &r); if (l >= 1 && r >= l && r < 10e18 && l < 10e18) { for (l; l <= r; l++) { if (test(l)) { num++; } } printf("%d\n", num); return 0; } else { return -1; } } |
English