Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
37
Task/Disarium-numbers/C/disarium-numbers.c
Normal file
37
Task/Disarium-numbers/C/disarium-numbers.c
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <math.h>
|
||||
|
||||
int power (int base, int exponent) {
|
||||
int result = 1;
|
||||
for (int i = 1; i <= exponent; i++) {
|
||||
result *= base;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
int is_disarium (int num) {
|
||||
int n = num;
|
||||
int sum = 0;
|
||||
int len = n <= 9 ? 1 : floor(log10(n)) + 1;
|
||||
while (n > 0) {
|
||||
sum += power(n % 10, len);
|
||||
n /= 10;
|
||||
len--;
|
||||
}
|
||||
|
||||
return num == sum;
|
||||
}
|
||||
|
||||
int main() {
|
||||
int count = 0;
|
||||
int i = 0;
|
||||
while (count < 19) {
|
||||
if (is_disarium(i)) {
|
||||
printf("%d ", i);
|
||||
count++;
|
||||
}
|
||||
i++;
|
||||
}
|
||||
printf("%s\n", "\n");
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue