描述
为什么1小时有60分钟,而不是100分钟呢?这是历史上的习惯导致。
但也并非纯粹的偶然:60是个优秀的数字,它的因子比较多。
事实上,它是1至6的每个数字的倍数。即1,2,3,4,5,6都是可以除尽60。
我们希望寻找到能除尽1至n的的每个数字的最小整数m.
输入
多组测试数据(少于500组)。
每行只有一个数n(1<=n<=100).
输出
输出相应的m。
样例输入
2
3
4
样例输出
2
6
12
大树 仿照阶乘 改一下 就ok
#include <iostream>
#include <string.h>
using namespace std;
int main()
{
int n;
while (cin>>n)
{
int a[100],b[100],i,j;
memset(a,0,sizeof(a));
memset(b,0,sizeof(b));
for (i=0;i<n;i++)
a[i] = i+1;
for (i=1;i<n;i++)
{
for (j=i+1;j<n;j++)
{
if (a[j]%a[i]==0)
a[j]=a[j]/a[i];
}
}
// for (i=0;i<n;i++)
// cout<<a[i];
// cout<<endl;
int next=0,mut,count=1;
b[0]=1;
for (i=1;i<n;i++)
{
for (j=1;j<=count;j++)
{
mut = a[i]*b[j-1]+next;
b[j-1] = mut%10;
next = mut/10;
}
while (next)
{
count++;
b[count-1]=next%10;
next = next/10;
}
}
for (i=count-1;i>=0;i--)
cout<<b[i];
cout<<endl;
}
return 0;
}