一、为什么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
题目大意:给出一个1-100之间的整数n,求出 1-n的最小公倍数
思想:两个数a,b的最小公倍数=a*b/a和b的最大公约数,这样依次往后计算就可以算到100,但是算到后边的话就要计算大数的约数了,比较麻烦,所以我们可以提前约去乘积中的公因子。
比如1*2*3*4*5*6...n,每往后面拓展一位,就要约掉较小的因子,所以,我们可以全部提前约去。
代码:
#include<stdio.h>
#include<string.h>
#define N 45
int ans[N],num[110];
int main() {
int i,j,n;
for(i=1;i<=100;i++) {
num[i]=i;