[C++]求两正整数的最大公约数
求两正整数的最大公约数
原理:1.比较两数的大小,用大数除以小数,将得到一个余数;2.再将小数作为先前的大数,余数作为先前的小数,再重复第一步;3.直到所得的余数为0时停止,那么我们得到的最后那一个余数就是他们的最大公约数。
模型:假设两正整数为m和n,且m>n.
u=m,v=n
当r=m/n不为0时,则有:
u=v;
v=r;
当r为0时,输出v。
原理:1.比较两数的大小,用大数除以小数,将得到一个余数;2.再将小数作为先前的大数,余数作为先前的小数,再重复第一步;3.直到所得的余数为0时停止,那么我们得到的最后那一个余数就是他们的最大公约数。
模型:假设两正整数为m和n,且m>n.