Write a program in C to check two numbers are Amicable numbers or not Amicable numbers

  • برمجة سي c
  • برمجة

Write a program in C to check two numbers are Amicable numbers or not


Expected Output :
Input the 1st number : 1184
Input the 2nd number : 1210
The given numbers are an Amicable pair.

الأجوبة

# 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;
}
هل كان المحتوى مفيد؟

تبحث عن مدرس اونلاين؟

محتاج مساعدة باختيار المدرس الافضل؟ تواصل مع فريقنا الان لمساعدتك بتأمين افضل مدرس
ماهو التخصص الذي تبحث عنه؟
اكتب هنا...