6.3w+
社区成员
#include <iostream>
#include <fstream>
#include <vector>
#include <algorithm>
#include <sstream>
using namespace std;
typedef vector<int> VI;
typedef vector<VI> VVI;
int DivisorNumber(int x,int y);
void InputData(VVI&);
void print(VI);
vector <int> Fun(vector <VI> & a);
int gcd(int a,int b);
int main()
{
VVI matrix;
InputData(matrix);
VI Vec;
Vec = Fun(matrix);
//sort(Vec.begin(),Vec.end());
print(Vec);
return 0;
}
//求取两个整数的最大公约数
int DivisorNumber(int x,int y)
{
//辗转相除法
int m,n,t;
if(x > y)
{
m = x;
n = y;
}
else
{
m = y;
n = x;
}
while(m % n != 0)
{
t = n;
n = m%n;
m = t;
}
return n;
}
int gcd(int a,int b)
{
int t=0;
while ( b!=0 )
{
t= a % b;
a = b;
b = t;
}
return a;
}
void InputData(VVI& m)
{
ifstream in("abc.txt");
int t;
//m.resize(7);
VI temp;
for(string s;getline(in,s);)
{
/* sin >> t;
temp.push_back(t);
sin >> t;
temp.push_back(t);
m.push_back(temp);*/
for(istringstream sin(s);sin >> t;)
{
temp.push_back(t);
}
m.push_back(temp);
temp.resize(0);
}
}
vector<int> Fun(vector<VI> & a)
{
vector<int> c(7);
for(int i = 0; i < 7; ++i)
{
int a1=a[i][0];
int a2=a[i][1];
c[i] = gcd(a[i][0],a[i][1]);
}
return c;
}
void print(VI a)
{
for(int i = 0; i < 7;++i)
{
cout <<a[i]<<",";
}
}