題目描述
給出n個正整數,任取兩個數分別作為分子和分母組成最簡真分數,編程求共有幾個這樣的組合。
輸入描述:
每組包含n(n<=600)和n個不同的整數,整數大于1且小于等于1000。
輸出描述:
每行輸出最簡真分數組合的個數。
鏈接:https://www.nowcoder.com/questionTerminal/1f1db273eeb745c6ac83e91ff14d2ec9 來源:牛客網#include <stdio.h> #define N 600int gcd(int a, int b)//歐幾里得算法求最大公約數 {if(b==0) return a;else return gcd(b, a%b); }int main() {int buf[N];int count, n;while(scanf("%d", &n)!=EOF){for(int i=0; i<n; i++){scanf("%d", &buf[i]);}count=0;//總計0個真分數for(int i=0; i<n; i++)//分母 {for(int j=0; j<n; j++)//分子 {if(i==j) continue;else if(buf[i]>buf[j] && gcd(buf[i], buf[j])==1){count++;}}}printf("%d\n", count);}return 0; }
?