Q11417: GCD

// Accepted !!

#include <stdio.h>
#include <cstdlib>

int GCD(int n, int m);

int main()
{
    int N;

    while(scanf("%d", &N))
    {
        if(N == 0)
            break;

        int G = 0;
        for(int i = 1; i < N; i++)
        {
            for(int j = i+1; j <= N; j++)
                G += GCD(i,j);
        }
        printf("%d\n", G);
    }

    system("PAUSE");
    return EXIT_SUCCESS;
}

int GCD(int n, int m)
{
    if(m == 0)
        return n;
    else
        return GCD(m,n % m);
}

Leave a Reply