这是一个找出两个输入数据的最大公约数的程序,我的想法是使用辗转相除法作为理论基础完成任务,但是写完之后才发现任务有这么一项要求:
只有以下函数库可以使用
o From iostream: cin.clear(), cin.ignore(), cin.fail()
o From string: getline(), .length(), .size(), [], at(), +=
o From cmath: pow(), abs()
(:з」∠)
不过可以使用自己创建的函数库
所以请问我能用什么方法可以实现这个函数呢?
不用cstdlib也可以的,用下面的代码试试:
#include <iostream>
using namespace std;
long gcd(long a, long b)
{
int r = a % b;
while (r != 0)
{
a = b;
b = r;
r = a % b;
}
return b;
}
int main()
{
long m, n;
while (cin >> m >> n)
{
if (cin.fail())
{
cin.clear();
cin.sync();
}
else
{
cout << gcd(m, n) << endl;
}
}
}
不加cstdlib,哪个函数不能用啊?
没明白你的问题,gcd函数你不写出来了吗?
C++的话可以试着用一下 #include<bits/stdc++.h>
有这个头文件就不用写别的头文件了