약수의 개수

전공 공부/C / / 2020. 12. 27. 19:52
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;
}

반응형

'전공 공부 > C' 카테고리의 다른 글

숫자 찍기(ㄹ순서)  (0) 2020.12.27
정렬과 평균  (0) 2020.12.27
소수 찾기  (0) 2020.12.27
별찍기  (0) 2020.12.25
3의 배수 판별  (0) 2020.12.25
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기