1062. 最简分数(20)
2017-12-27 21:20
316 查看
一、题目
二、个人理解
Tips:给的两个分数不知道谁大谁小
题目说的是之间,所以不包括边界
C++:
#include <iostream> #include <stdio.h> using namespace std; //最大公约数 int gcd(int a, int b) { if (b == 0) { return a; } return gcd(b, a % b); } /* 两个坑: 1、给的两个分数不知道谁大谁小 2、题目说的是之间,所以不包括边界 */ int main() { int a1, b1, a2, b2, k; scanf("%d/%d %d/%d %d", &a1, &b1, &a2, &b2, &k); double first = double(a1 * k) / (double)b1 ; double second = double(a2 * k) / (double) b2 ; if (second < first) { swap(first, second); } first++; if (second == int(second)) { second--; } int tag = 1;//格式化输出用 for (int i = first; i <= second; i++) { if (gcd(i, k) == 1 ) { if (tag ) { cout << i << "/" << k; tag = 0; } else { cout << " " << i << "/" << k; } } } }
相关文章推荐
- PAT乙级1062. 最简分数(20)
- pat 1062. 最简分数(20) 水
- 1062. 最简分数(20)
- 1062. 最简分数(20)-PAT乙级
- 1062. 最简分数(20)
- 1062. 最简分数(20)
- 1062. 最简分数(20)-PAT乙级真题
- PAT乙级真题1062最简分数(20)
- 1062. 最简分数(20)
- PAT乙级真题 1062. 最简分数(20)
- 1062. 最简分数(20)
- 1062. 最简分数(20)
- 1062. 最简分数(20)
- 1062. 最简分数(20)
- PAT乙级 1062. 最简分数(20)--简单易错注意细节
- 1062. 最简分数(20) PAT乙级真题
- PAT乙级-1062. 最简分数(20)
- 1062. 最简分数(20)
- 1062. 最简分数(20)
- 1062. 最简分数(20)