这是一个好东西.
它是用来求两个数的最大公因数.
思路:辗转相除法.每次a % b,如果余数等于1,则余数的值给b.
如果大于1,那么继续将除数%余数.
代码如下:
1 //欧几里得算法 2 #include <iostream> 3 using namespace std; 4 int gcd(int a,int b){ 5 return b==0?a:gcd(b,a%b); 6 } 7 int main(){ 8 int a,b; 9 while(cin>>a>>b){ 10 cout<<gcd(a,b)<<endl; 11 } 12 return 0; 13 }
时间: 2024-11-08 18:56:43