P1458 顺序的分数 Ordered Fractions(有技巧的枚举)+C++类封装=精简代码
生活随笔
收集整理的這篇文章主要介紹了
P1458 顺序的分数 Ordered Fractions(有技巧的枚举)+C++类封装=精简代码
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目描述
輸入一個自然數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,請編程按分數值遞增的順序輸出所有解。
注:①0和任意自然數的最大公約數就是那個自然數②互質指最大公約數等于1的兩個自然數。
輸入輸出格式
輸入格式:
單獨的一行一個自然數N(1…160)
輸出格式:
每個分數單獨占一行,按照大小次序排列
輸入輸出樣例
輸入樣例#1:
5
輸出樣例#1:
0/1
1/5
1/4
1/3
2/5
1/2
3/5
2/3
3/4
4/5
1/1
說明
USACO 2.1
翻譯來自NOCOW
沒有什么可以說的,直接按照題目給的枚舉即可,網上的代碼好長,好亂,看到一個小伙計用類寫的,啟發了我,拋玉引磚,有一點是比較分數大小,交叉相乘。
總結
以上是生活随笔為你收集整理的P1458 顺序的分数 Ordered Fractions(有技巧的枚举)+C++类封装=精简代码的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 什么是Joomla(joomla漏洞)
- 下一篇: s3c2440移植MQTT