C Упражнения: Найти числа Disarium от 1 до 1000
Числа C: Упражнение-16 с решением
Напишите программу на C, чтобы найти числа Disarium от 1 до 1000.
Пример решения :
Код C:
# include <stdio.h>
# include <math.h>
# include <stdlib.h>
# include <stdbool.h>
int DigiCount(int n)
{
int ctr_digi = 0;
int tmpx = n;
while (tmpx)
{
tmpx = tmpx/10;
ctr_digi++;
}
return ctr_digi;
}
bool chkDisarum(int n)
{
int ctr_digi = DigiCount(n);
int s = 0;
int x = n;
int pr;
while (x)
{
pr = x % 10;
s = s + pow(pr, ctr_digi--);
x = x/10;
}
return (s == n);
}
int main()
{
int i;
printf("\n\n Find Disarium Numbers between 1 to 1000: \n");
printf(" ---------------------------------------------\n");
printf(" The Disarium numbers are: \n");
for(i=1;i<=1000;i++)
{
if( chkDisarum(i))
printf("%d ",i);
}
printf("\n");
}
Пример вывода:
Числа Disarium: 1 2 3 4 5 6 7 8 9 89 135 175 518 598
Блок - схема:
->
Редактор кода программирования C:
Внесите свой код и комментарии через Disqus.
Предыдущий: Напишите программу на C, чтобы проверить, является ли число Disarium или нет.
Далее: Напишите программу на C, чтобы проверить, является ли число числом Harshad или нет.
Каков уровень сложности этого упражнения?
Новый контент: Composer: менеджер зависимостей для PHP , R программирования
disqus2code