短除法:
#include<stdio.h>
#include<stdlib.h>
intmax_approximate(intnum1,intnum2)
{
if(num1>num2)
{
inttmp=0;
tmp=num1;
num1=num2;
num2=tmp;
}
intmin=num1;
while(min)
{
if((num2%min==0)&&(num1%min==0))
{
returnmin..
分类:
编程语言 时间:
2016-03-19 13:09:45
阅读次数:
145
辗转相除法(又称欧几里得算法)是求最大公因数的算法 要求a,b的最大公约数(a>b),我们可以递归地求b,a%b的最大公约数,直到其中一个数变成0,这时另一个数就是a,b的最大公约数。 C++实现: int gcd(int a,int b){ retuen b?gcd(b,a%b):a; } 或:
分类:
其他好文 时间:
2016-02-03 20:54:38
阅读次数:
245