ex2_21.cpp

来自「c++程序设计教材第二版书上即课后习题源代码」· C++ 代码 · 共 22 行

CPP
22
字号
/*【例2.21】用欧几里德算法(也称辗转法)求两个整数的最大公约数。
假定两个整数分别为num1和num2,最大公约数应当是不超过其中较小数的一个整数。
辗转法的思想是:用num1除以num2,求出余数resd,如果resd==0,则当前num2就是最大公约数,
否则(resd!=0),num1=num2, num2=resd, 重复以上过程,直到resd==0为止。
*/
#include<iostream>
using namespace std;

int main(){
	 int num1,num2,resd;
	 cout<<"输入两个整数:"<<endl;
	 cin>>num1>>num2;
	 cout<<num1<<"和"<<num2<<"的最大公约数为:";
	 for(;;){
		resd=num1%num2;
		if(resd==0)  break;
		num1=num2;  num2=resd;
	 }
	 cout<<num2<<endl;
	 return 0;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?