java公倍数,java实现连续数的公倍数

本文探讨了1小时为何有60分钟的历史原因,并介绍了如何利用Java编程求解任意n(n<100)之间的最小公倍数。通过BigInteger类和Scanner,作者展示了如何找出能整除1至n每个数字的最小整数,如n=100时的结果。
摘要由CSDN通过智能技术生成

为什么1小时有60分钟,而不是100分钟呢?这是历史上的习惯导致。

但也并非纯粹的偶然:60是个优秀的数字,它的因子比较多。

事实上,它是1至6的每个数字的倍数。即1,2,3,4,5,6都是可以除尽60。

我们希望寻找到能除尽1至n的的每个数字的最小整数。

不要小看这个数字,它可能十分大,比如n=100, 则该数为:

69720375229712477164533808935312303556800

请编写程序,实现对用户输入的 n (n<100)求出1~n的最小公倍数。

例如:

用户输入:

6

程序输出:

60

用户输入:

10

程序输出:

2520

package com.liu.ex1;

import java.math.BigInteger;

import java.util.Scanner;

public class Main {

public static void main(String[] args) {

Scanner in = new Scanner(System.in);

int n = in.nextInt();

BigInteger result = new BigInteger("1");

for(int i = 1;i <= n;i++) {

BigInteger gcd = result.gcd(new BigInteger(""+i));

result = result.multiply(new BigInteger(""+i));

result = result.divide(gcd);

}

System.out.println(result);

}

}

标签:BigInteger,java,Scanner,公倍数,60,int,连续,数字

来源: https://blog.csdn.net/a1439775520/article/details/97288610

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值