USACO 2.1.3 Ordered Fractions
2014-11-19 16:21
267 查看
USACO 2.1.3 Ordered Fractions
MPS
输入一个自然数N
请写一个程序来增序输出分母小于N的既约真分数
PROGRAM NAME: frac1
INPUT FORMAT
单独的一行 一个自然数N
SAMPLE INPUT (file frac1.in)
5
OUTPUT FORMAT
每个分数单独占一行
SAMPLE OUTPUT (file frac1.out)
0/1
1/5
1/4
1/3
2/5
1/2
3/5
2/3
3/4
4/5
1/1
分析:
我们发现,题目的意思就是讲分母≤n的最简分数按从小到大输出(easy~)
这里需要注意几点:
(1)不要遗漏0/1和1/1
(2)控制精度,对于无限不循环小数,不能直接除,我们用一个数学思想:
比较两个分数的大小
1 2
若---- > -----
3 5
则必有:3*2>5*1
所以排序规则就出来了
代码:
MPS
输入一个自然数N
请写一个程序来增序输出分母小于N的既约真分数
PROGRAM NAME: frac1
INPUT FORMAT
单独的一行 一个自然数N
SAMPLE INPUT (file frac1.in)
5
OUTPUT FORMAT
每个分数单独占一行
SAMPLE OUTPUT (file frac1.out)
0/1
1/5
1/4
1/3
2/5
1/2
3/5
2/3
3/4
4/5
1/1
分析:
我们发现,题目的意思就是讲分母≤n的最简分数按从小到大输出(easy~)
这里需要注意几点:
(1)不要遗漏0/1和1/1
(2)控制精度,对于无限不循环小数,不能直接除,我们用一个数学思想:
比较两个分数的大小
1 2
若---- > -----
3 5
则必有:3*2>5*1
所以排序规则就出来了
代码:
#include <iostream> #include <cstdio> #include <algorithm> #include <cctype> #include <cstring> #include <string> #include <cstdlib> #include <vector> #include <queue> #include <deque> using namespace std; const int MaxN=100001; struct frac{ int up,down; friend bool operator< (frac a,frac b){return a.down*b.up>b.down*a.up;}//重载运算符 }c[MaxN]; int n; int gcd(int a,int b){return b==0?a:gcd(b,a%b);} int main(){ cin>>n; int i,j,t=1; for(i=1;i<=n;i++) for(j=1;j<i;j++) if(gcd(i,j)==1) { c[t].up=j; c[t].down=i; t++; } cout<<0<<"/"<<1<<endl; sort(c+1,c+t); for(i=1;i<t;i++)cout<<c[i].up<<"/"<<c[i].down<<endl; cout<<1<<"/"<<1<<endl; return 0; }
相关文章推荐
- USACO Section 2.1: Ordered Fractions
- USACO Ordered Fractions
- usaco Ordered Fractions
- USACO section 2.1 Ordered Fractions(简单数学求约数加个排序)
- Usaco Section 2.1 Ordered Fractions
- USACO - Chapter2 Section 2.2 - Ordered Fractions
- USACO section 2.1 Ordered Fractions(简单数学求约数加个排序)
- 【USACO Training】Section 2.1 Ordered Fractions
- USACO Section 2.1 Ordered Fractions(枚举)
- USACO 2.1.2 Ordered Fractions(暴力)
- [题目] Section 2.1 OrderedFractions(USACO)
- USACO Ordered Fractions
- USACO Section 2.1 Ordered Fractions - 用GCD判合法的简单搜索
- usaco Ordered Fractions
- USACO :Ordered Fractions解题报告
- Usaco 2.1.2 顺序的分数(Ordered Fractions)
- USACO 2.1 Ordered Fractions(乱搞)
- USACO Ordered Fractions
- USACOTrainning.Ordered Fractions
- USACO2.1.2 Ordered Fractions (frac1)