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; }