利用更相减损术求两个整数的最大公约数,即每次将较大的数变成大数减去小数的值:
#include<stdio.h>
#include<algorithm>
#include<iostream>
#include<math.h>
using namespace std;
int max(int a,int b)
{
return a>b?a:b;
}
int min(int a,int b)
{
return a<b?a:b;
}
int main()
{
int x,y;
cin>>x>>y;
int i;
do
{
i=max(x,y)-min(x,y);
x=y;
y=i;
}while(i!=0);
cout<<x;</iostream></algorithm>
}