一.基本
1.求最大公约数:
Scanner scanner=new Scanner(System.in);
System.out.println("请输入第一个数");
int a=scanner.nextInt();
System.out.println("请输入第二个数");
int b=scanner.nextInt();
int c;
// 赋a为最小值
if (b<a) {
c=b;
b=a;
a=c;
}
int i=a;
for ( ; i>=1; i--) {
if (a%i==0&&b%i==0) {
break;
}
}System.out.println("他们的最大公约数是"+i);
2.求最小公倍数:
Scanner scanner=new Scanner(System.in);
int c;
System.out.println("请输入第一个数");
int a=scanner.nextInt();
System.out.println("请输入第二个数");
int b=scanner.nextInt();
// 赋a为最小值
if (b<a) {
c=b;
b=a;
a=c;
}
for (int i = b; i >=b ; i++) {
if (i%a==0&&i%b==0) {
System.out.println("他们的最小公倍数是"+i);
break;
}
}
二.拓展数学问题
1.甲、乙、丙三人是朋友,他们每隔不同天数到图书馆去一次。甲3天去一次,乙4天去一次。丙5天去一次。有一天,他们三人恰好在图书馆相会,问至少再过多少天他们三人又在图书馆相会?
int j=2,a=3,c=5,b=4;
for (;; j++) {
if (j%a==0&&j%b==0&&j%c==0) {
break;
}
}System.out.println("在"+j+"天会相遇");
2.甲每秒跑3米。乙每秒跑4米,丙每秒跑2米,三人沿600米的环形跑道从同一地点同时同方向跑步,经过多少时间三人又同时从出发点出发?
int i=2,a=3,b=4,c=2;
for (; ; i++) {
a=a+3;
b=b+4;
c=c+2;
if (a%600==0&&b%600==0&&c%600==0) {
break;
}else {
continue;
}
}
System.out.println(a);
System.out.println(b);
System.out.println(c);
System.out.println("经过"+i+"秒后,能相遇");
这篇博客介绍了如何使用Java编程计算两个数的最大公约数(GCD)和最小公倍数(LCM),并提供了实际的代码示例。此外,还探讨了两个拓展的数学问题:1) 甲、乙、丙三人按不同周期去图书馆,求下次同时相遇的天数;2) 在环形跑道上,不同速度的甲、乙、丙三人何时能再次同时回到起点。

1296

被折叠的 条评论
为什么被折叠?



