在C++程序中该怎么样求两个数的最大公约数

来源:百度知道 编辑:UC知道 时间:2024/09/28 17:27:47
请用C++语言表示,并做出注释,

辗转相除法求最大公约数:
int a,b,r;
cin>>a,b;//输入a,b,即所求的两个数
r=a%b;
while(r)
{a=b;b=r;r=a%b;}//辗转相除
return b;//返回b,即为两者最大公约数

int i; //最好先判断a,b是否是正整数
if(a>b)
i=b;
else i=a; //i=a,b中较小的一个
for(;i=1;i--)
{if((b%i==0)&&(a%i==0))
return i; //如果i能同时被a,b整除,返回i
} //如果不能,i--

够详细了吧:)

1.合法的标识符由字母,数字和下划线组成,并且第一个字母必须是字母或下划线.
2.常量分{整型,实型,字符型和字符串型;即使整型常量也有短整型长整型...
整型和实型也称数值型,它们有正负之分.
a小数形式;
即使在数学中常用的实数形式,由数字和小数点组成(注意:必须要有小数点),如0.123;.123;123.;0.0等都是合法的实型常量.
b指数形式
这种形式类是于数学中的指数型式,再数学中,一个数可以用幂的形式来表示,如2.3026可以表示为0.2306*10n

r=0
while(r>0)
增加一个cout语句输出b