首页 > 试题广场 >

有一个文件abc.in,其中含有一些整数对,求出这些整数对的

[问答题]
有一个文件abc.in,其中含有一些整数对,求出这些整数对的最大公约数,并对这些最大公约数按从小到大的顺序排序输出 。 其样板文件内容和结果如下:

推荐
//-----------------------------------
//EX0503.cpp
//最大公约数排序输出
//-----------------------------------
#include<iostream>
#include<fstream>  // for file "abc.in"
#include<vector>
#include<algorithm>  // for sort()
using namespace std;
//-----------------------------------
int gcd(int a, int b){
  return a%=b ? gcd(b,a) : b;
}//----------------------------------
int main() {
  ifstream cin("abc.in");
  vector<int> v;
  for(int a,b; cin>>a>>b; )
    v.push_back(gcd(a,b));
  sort(v.begin(), v.end());
  for(int i=0; i<v.size()-1; ++i)
    cout<<v[i]<<" ";
  cout<<v.back()<<"\n";
}//-----------------------------------

发表于 2018-05-07 20:36:11 回复(1)