求兩分數的最小中間值

2021-09-26 13:37:51 字數 884 閱讀 9138

description

問題:兩個不同分子分母都大於0的分數a和b之間應該一定有乙個分數c滿足a < c < b;

但他沒有乙個確切的方法來尋找這個分數,於是他來求助於你。

input

首先輸入一行乙個整數t代表樣例數。(1≤t≤30000)

對於每一組樣例,一行輸入四個整數 1 <= a1,a2,b1,b2 <= 1000000000,資料保證aoutput

對於每一組樣例,輸出一行兩個數c1,c2,表示c的分子與分母。用空格將兩個數分開。

若有多解,輸出c1最小的解,若最小c1仍有多解,輸出c2最小的解;

sample input

31 4 1 3

2 3 7 9

1 1 2 1

sample output

2 73 4

3 2原理什麼的我也不懂,先記著再說吧……

#include #include #include #include using namespace std;

typedef long long ll;

typedef long double ld;

paireuclidean(paira, pairb) ;

if (b.first == 0) b = ;

if (a.first < a.second && b.first > b.second) return ;

if (a.first >= a.second) , );

p.first += p.second * d;

return p;

} auto p = euclidean(, );

return ;

}int main()

}

求兩個整型數的中間值

已知有兩個整型變數int a和int b,求這兩個數的中間值,即int c c a b 2 你能想出上述操作可能會存在的問題嗎?答案是,加法過程中可能會溢位。因此,我們可以這麼做 c a 2 b 2 雖然解決了溢位的問題,但仍然還有缺點,你能想到是什麼嗎?答案是,用了兩次除法,執行效率會顯著降低,因...

求三個數的最大 最小 中間值

求三個數的最大 最小 中間值 int a 3,b 5 int min a b a b printf min d n min int a 3,b 4 c 8 int min a b a b min min c min c int max a b?a b max max c max c printf m...

輸入3個數,求最大值最小值中間值

輸入3個數,求最大值最小值中間值 2 bool 如果為真,則返回1,如果為假則返回0 3 邏輯與 要求表示式兩邊同時為真,結果才為真,如果表示式兩邊有乙個為假,結果就為假。邏輯或 一真即真 4if 第一種形式,如果條件表示式為真,會執行大括號裡的語句,執行完畢後跳出大括號執行下面的語句 如果為假,跳...