展开全部
自然语言描述
计算两个非负整数p 和q 的最大公约数:若
q 是0,则最大公约数为p。否则,将p 除以
q 得到余数r,p 和q 的最大公约数即为q 和
r 的最大公约数。
Java code 求公约数
public static int gcd(int p, int q)
{
if (q == 0) return p;
int r = p % q;
return gcd(q, r);
}
公倍数就是两个数的积除以最大公约数。
public static int g(int p, int q)
{
return p*q/gcd(q, r);
}
追问
谢谢你!因为才学,有没有用流程控制语句,如for、while、if 之类的?这个也行。
追答
public static int gcd2(int p, int q)
{
if (q == 0) return p;
int r = p % q;
while(r !=0){
p= q;
q= r;
r = p%q;
}
return q;
}
试试吧
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询