題目:
輸入乙個自然數 n,對於乙個最簡分數 a/b(分子和分母互質的分數),滿足 1≤b≤n,0≤a/b≤1,請找出所有滿足條件的分數,並按分數值遞增的順序輸出這些分數。
輸入格式:
輸入乙個正整數 n(1≤n≤160)。
輸出格式:
每個分數單獨佔一行,按照分數值遞增的順序排列。
輸入樣例:
5輸出樣例:
0/11/5
1/41/3
2/51/2
3/52/3
3/44/5
1/1注: 1、0 和任意自然數的最大公約數就是那個自然數。 2、互質指最大公約數等於1的兩個自然數。
使用結構體存分子a、分母b、分數的值s(double型),使用快速排序對s排序,其中,要判斷分子和分母是否為有公因數。
總**:
#include
#include
using namespace std;
struct num
;bool cmp( struct num as,struct num qw)
int duan(int a,int b,int n)
return 1;//無公因子
}int main(
)else if(duan(i,j,n))// i!=1時,判斷分子和分母是否互質
}} sort(nn,nn+k,cmp)
; cout<<
"0/1"
"1/1"
}
順序的分數 Ordered Fractions
題目描述 輸入乙個自然數n,對於乙個最簡分數a b 分子和分母互質的分數 滿足1 b n,0 a b 1,請找出所有滿足條件的分數。這有乙個例子,當n 5時,所有解為 0 1 1 5 1 4 1 3 2 5 1 2 3 5 2 3 3 4 4 5 1 1 給定乙個自然數n,1 n 160,請程式設計...
USACO 2 1 順序的分數
description 輸入乙個自然數n 請寫乙個程式來增序輸出分母小於等於n的最簡真分數 input 單獨的一行 乙個自然數n 1.160 output 每個分數單獨佔一行 最後一行有回車 sample input 5 sample output 0 1 1 5 1 4 1 3 2 5 1 2 3...
分數拆分(C )
描述 現在輸入乙個正整數k,找到所有的正整數x y,使得1 k 1 x 1 y.輸入 第一行輸入乙個整數n,代表有n組測試資料。接下來n行每行輸入乙個正整數k 輸出 按順序輸出對應每行的k找到所有滿足條件1 k 1 x 1 y的組合 樣例輸入 2 2 12樣例輸出 1 2 1 6 1 3 1 2 1...