匯東網


NOJ - T032

[編輯] [转简体]
|
作者:huidong | 分類:【編程】NOJ 和 C 程序設計習題
[ 10 瀏覽 0 評論 2 贊 2 踩 ]

概要
運動會

正文

原始版本(超時)

#include<stdio.h>

int gcd(int m, int n)
{
    if (!m || !n)
        return 1;

    // 準備輾轉相除,首先使 a >= b,r 記錄餘數
    int a = m, b = n, r = 0;
    if (a < b)
        a ^= b ^= a ^= b;
    do
    {
        r = a % b;
        a = b;
        b = r;
    } while (r != 0);

    return a;
}

int main()
{
    int sum = 0, N = 0;
    scanf("%d", &N);

    if (N == 1)
    {
        printf("0");
        return 0;
    }
    int A[100][100] = { 0 };
    for (int i = 1; i < N; i++)
        for (int j = i + 1; j < N; j++)
            if (gcd(i, j) == 1)
            {
                sum++;
                A[i][j] = 1;
            }
    sum = (sum + 1) * 2 + 1;
    printf("%d", sum);
    printf("\n");

    for (int j = 0; j < 40; j++)
    {
        for (int i = 0; i < 40; i++)
            printf(A[i][j] ? "#" : "-");
        printf("\n");
    }
    return 0;
}


[ 2] [ 2]


 評論區  0 條評論

+ 添加評論