题解 | #最简真分数#
最简真分数
https://www.nowcoder.com/practice/1f1db273eeb745c6ac83e91ff14d2ec9
隐含条件:
1.输入0退出
2.输入的整数递增
3.分母大于分子
#include <iostream> #include "vector" using namespace std; int gcd(int a, int b) { if (b == 0) return a; else return gcd(b, a % b); } int main() { int n; while (cin >> n) { // 注意 while 处理多个 case // cout << a + b << endl; if (n == 0) break; vector<int> nums; for (int i = 0; i < n; i++) { int temp; cin >> temp; nums.push_back(temp); } int num = 0; for (int j = 0; j < nums.size(); j++) { for (int k = j+1; k < nums.size(); k++) { int temp = gcd(nums[j], nums[k]); if (temp==1) num++; } } cout<<num<<endl; } } // 64 位输出请用 printf("%lld")