若是凉夜已成梦

青春里 总有些事情要努力去做 总有些梦想要拼命去追。


  • 运维

  • 前端

  • 编程

  • 随笔

  • hust-oj

1320: 公倍数

发表于 2017-10-06   |   分类于 HUSTOJ   |   阅读次数 1,291

题目描述

为什么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

参考代码

#include <stdio.h>
#include <memory.h>
int main() 
{
    int i,j;
    int num[100];
    int a[105];
    for (i=1; i<=101; i++)
            a[i]=i;
    for (i=2; i<=101; i++)
            for (j=i+1; j<=101; j++)
                if(a[j]%a[i]==0)
                    a[j]=a[j]/a[i];
    int n;
    while(~scanf("%d",&n)) 
    {
        memset(num,0,sizeof(num));
        num[0]=1;
        for (i=2; i<=n; i++) 
        {
            int c=0;
            for (j=0; j<i; j++) 
            {
                int  s=num[j]*a[i]+c;
                num[j]=s%10;
                c=s/10;
            }
        }
        for (i=99; i>=0; i--)
                    if(num[i])
                        break;
        for (j=i; j>=0; j--)
                    printf("%d",num[j]);
        printf("n");
    }
}

解析

暂无

hustoj

发表评论 取消回复

电子邮件地址不会被公开。 必填项已用*标注

*
*


hoxis wechat
著作权归作者所有
站点更新说明
  • 文章目录
  • 站点概览
若是凉夜已成梦

若是凉夜已成梦

青春里 总有些事情要努力去做 总有些梦想要拼命去追。

1904 日志
6 分类
12 标签
RSS
weibo github twitter facebook

友情链接

原站点 Skip Dreams孤独患者
© 2017 若是凉夜已成梦
Powered by WordPress | 已运行
Theme By NexT.Mist