...计算两个正整数的最大公约数和最小公倍数,要求从键盘输入两个数_百...
发布网友
发布时间:2024-07-29 20:01
我来回答
共3个回答
热心网友
时间:2024-07-30 20:00
public class Test {
public static void main(String[] args) {
System.out.println(gongyue(10, 12));
}
//迭代n的阶乘
public static int method(int n) {
if (n == 1) {
return 1;
} else {
return n * method(n - 1);
}
}
// 求m和n的最大公约数
public static int gongyue(int m, int n) {
while (m % n != 0) {
int temp = m % n;
m = n;
n = temp;
}
return n;
}
// 求m和n的最小公倍数
public static int gongbei(int m, int n) {
return m * n / gongyue(m, n);
}
}
热心网友
时间:2024-07-30 20:02
可以用C++吗?
我用的是C++;
#include<stdio.h>
void main()
{ in t,x,y,m,n;
scanf("%d,%d",&x,&y);
m=x<y?x:y;
while (x%m!=0||y%m!=0)
m--;
n=x*y/m;
printf("m=%d,n=%d\n",m,n);
}
热心网友
时间:2024-07-30 20:05
#include <stdio.h>
int main ()
{
int a,b,c,d,m,n,x,min;
printf ("请输入三个正整数");
scanf ("%d%d%d",&m,&n,&x);
min=m>n?(n>x?x:n):(m>x?x:n);
for (;min>=1;min--)
{
if (m%min==0&&n%min==0&&x%min==0) break;
}
printf ("最大公约数为%d:\n",min);
printf ("最小公倍数为%d:\n",m*n*x/(min*min));
return 0;
}