最簡真分數

2022-08-22 21:27:06 字數 844 閱讀 3145

統計分母在指定區間[a,b]的最簡真分數(分子小於分母,且分子分母無公因數)共有多少個,並求這些最簡真分數的和(保留5位小數)。

每行2個整數,分別表示a和b

每行2個整數,分別表示最簡真分數的個數和最簡真分數的和

3 20

126 63.00000
這個題目,沒有給定資料的範圍,推測可能資料量不大,一般我們學校這種沒有給定資料範圍的題目,就暗示資料不大。按照常規思路。從a到b,開始遍歷,然後遍歷1..i, 再看是不是最簡真分數。

1/*2

3*/4 #include5

6using

namespace

std;

7const

int n = 1000;8

9double

sum_nums[n];

10int

sums[n];

1112

intmain()

24}

25if (!flag) 29}

30}31int

a, b;

32while (~scanf("

%d %d

", &a, &b))

33 printf("

%d %.5lf\n

", sums[b]-sums[a-1], sum_nums[b] - sum_nums[a-1

]);

34return0;

35 }

view code

這種資料數字的特徵,與輸入無關。例如 [1, 5] 的答案,不會因為你的輸入時[1, 6]就會改變,一般採用打表記錄的方式。

最簡真分數

題目描述 給出n個正整數,任取兩個數分別作為分子和分母組成最簡真分數,程式設計求共有幾個這樣的組合。輸入描述 每組包含n n 600 和n個不同的整數,整數大於1且小於等於1000。輸出描述 每行輸出最簡真分數組合的個數。示例1輸入 73 5 7 9 11 13 15 32 4 50輸出 172題目...

最簡真分數 1199

題目描述 給出 n 個正整數,任取兩個數分別作為分子和分母組成最簡真分數,程式設計求共有幾個這樣的組合。輸入描述 有多組測試資料,每組測試資料有兩行。第一行為乙個整數 n n 600 在第二行中有 n 個以空格分隔的不同的整數 大於等於 1 且小於等於 10,000 當 n 0 時,程式結束,不需要...

3526 最簡真分數(2 1基本演算法之列舉)

總時間限制 1000ms 記憶體限制 65536kb 描述 給出n個正整數,任取兩個數分別作為分子和分母組成最簡真分數,程式設計求共有幾個這樣的組合。輸入 第一行是乙個正整數n n 600 第二行是n個不同的整數,相鄰兩個整數之間用單個空格隔開。整數大於1且小於等於1000。輸出 乙個整數,即最簡真...