728x90
#include <stdio.h>
#include <stdlib.h>
int arr[100000];
void F(int a, int *sum, int *cnt)
{
int i, c=0, hap=0;
for(i=1;i<a;i++)
{
if(a%i==0)
{
arr[c++]=i;
hap+=i;
}
}
*sum=hap;
*cnt=c;
}
int main()
{
int a,b,i,sum,sum1,cnt;
do
{
printf("a,b ? ");
scanf("%d, %d",&a,&b);
if(a==0||b==0) {printf("**FIN**");return 0;}
F(a,&sum,&cnt);
printf("%d의 약수의 개수는 %d : %d ",a,cnt,arr[0]);
for(i=1;i<cnt;i++)
{
printf("+ %d ",arr[i]);
}
printf("= %d\n",sum);
F(b,&sum1,&cnt);
printf("%d의 약수의 개수는 %d : %d ",b,cnt,arr[0]);
for(i=1;i<cnt;i++)
{
printf("+ %d ",arr[i]);
}
printf("= %d\n",sum1);
if(a==sum1||b==sum)
printf("**BRAVO**\n");
}while(1);
return 0;
}
반응형