C Упражнения: Проверьте, являются ли два числа дружественными числами или нет
Числа C: Упражнение 25 с решением
Напишите программу на C, чтобы проверить, являются ли два числа дружественными числами или нет.
Тестовые данныеВведите 1-е число: 1184
Введите 2-е число: 1210
Пример решения :
Код C:
# include <stdio.h>
# include <stdlib.h>
# include <stdbool.h>
# include <math.h>
int ProDivSum(int n)
{
int sum = 1;
for (int i=2; i<=sqrt(n); i++)
{
if (n%i == 0)
{
sum += i;
if (n/i != i)
sum += n/i;
}
}
return sum;
}
bool chkAmicable(int a,int b)
{
return(ProDivSum(a) == b && ProDivSum(b) == a);
}
int main()
{
int n, i, j, ctr,nm1,nm2;
printf("\n\n Check whether two numbers are Amicable pairs or not: \n");
printf("\n Sample: (220, 284), (1184, 1210), (2620, 2924).. \n");
printf(" --------------------------------------------------------\n");
printf(" Input the 1st number : ");
scanf("%d",&nm1);
printf(" Input the 2nd number : ");
scanf("%d",&nm2);
if( chkAmicable(nm1,nm2))
printf(" The given numbers are an Amicable pair.\n");
else
printf(" The given numbers are not an Amicable pair.\n");
return 0;
}
Пример вывода:
Введите 1-е число: 1184 Введите 2-е число: 1210 Указанные числа являются дружественной парой.
Блок - схема:
Редактор кода программирования C:
Внесите свой код и комментарии через Disqus.
Предыдущий: Напишите программу на C, чтобы найти номера уток от 1 до 500.
Далее: написать программу на C для подсчета дружных пар в массиве.
Каков уровень сложности этого упражнения?
Новый контент: Composer: менеджер зависимостей для PHP , R программирования
disqus2code