計蒜客題目 合法分數的組合

2021-08-15 16:14:09 字數 753 閱讀 3057

輸入乙個自然數n,我們總可以得到一些滿足「1≤b≤n,0≤a/b≤1」條件的最簡分數a/b(分子和分母互質的分數),請找出所有滿足條件的分數。

比方說,當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,請程式設計按分數值遞增的順序輸出所有解。

注:0和任意自然數的最大公約數就是那個自然數、互質指最大公約數等於1的兩個自然數。

輸入包括乙個給個給定的自然數n

輸出為乙個列表,每個分數單獨佔一行,按照實際大小從小到大排列

樣例輸入

5

樣例輸出

0/1

1/51/4

1/32/5

1/23/5

2/33/4

4/51/1

#include#includeusing namespace std;

int mgy(int a, int b)//求最大公約數

struct out {

int v[2];

float value;

bool operator < (const out &b) const{

return value思想:用b遍歷0~n的所有數,用a遍歷1~b的所有數,留下a/b是最簡的分數,再對這些分數排序,最終按從小到大輸出。其中,留下最簡分數,需要求a,b的最大公約數,最大公約數為1的分數就是最簡分數。排序用c++庫中的sort函式即可。

計蒜客題目 Home Work

臨近開學了,大家都忙著收拾行李準備返校,但 i love c 卻不為此擔心 因為他的心思全在暑假作業上 目前為止還未開動。暑假作業是很多張試卷,我們這些從試卷裡爬出來的人都知道,卷子上的題目有選擇題 填空題 簡答題 證明題等。而做選擇題的好處就在於工作量很少,但又因為選擇題題目都普遍很長。如果有 5...

計蒜客題目 加一

陣列內存放了一些個位數字,組成乙個大數 從高位到低位 現在將這個數加 1,並輸出加一以後的結果。例如 a 2,3,1,1,4 則結果為 2,3,1,1,5 a 7,8,9 則結果為 7,9,0 第一行輸入乙個正整數 n 1 n 100 接下來的一行,輸入用空格分隔的 n 個 0 到 9 的非負整數組...

計蒜客題目 奇怪的國家

有乙個奇怪的國家,裡面的國民對於事情的態度永遠只有兩面。當兩個人遇到一起討論乙個事情的時候 兩個持贊同觀點的人遇到一起後會對這個事情都繼續贊同 乙個持贊同觀點的人遇到乙個持不贊同觀點的人的時候,兩人都會不再繼續贊同 兩個持不贊同觀點的人遇到一起討論後反而會對這個事情開始贊同。輸入包括兩行,每行包括 ...