zoukankan      html  css  js  c++  java
  • 2028 ACM Lowest Common Multiple Plus

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=2028

    思路:最一想到的就是暴力求解,从1开始一直到最后的答案,一直来除以给出的数列的数,直到余数为0;当然我们能升级,以输入的第一个数为初值,来除以数列,不行再进行翻倍操作,这样能减少循环的次数

    开始用了break和continue ,最后发现复杂了。

    复习哈C语言break continue

    break:强行退出循环,不再执行本次循环,即跳出此循环 (CPU直接结束这一个循环,运行下面的代码)

    continue:结束本次循环,执行下次循环,即终止该语句后面的语句,继续本次循环

    如:

    break:

    for(i=1;i<=10;i++)

    {
    if(i=6)

    break;
    printf("%d ",i);

    }
    这个时候打印结果为:1 2 3 4 5 

    continue:

    for(i=1;i<=10;i++)

    {
    if(i=6)

    continue;
    printf("%d ",i);

    }
    打印结果为:1 2 3 4 5 7 8 9 10

    Code:

    #include <cstdio>
    #include<iostream>
    
    using namespace std;
    
    int main()
    {
        int n,num[10000],k;
        long long nn;
        while(cin>>n)
        {
            k=1;
            for(int i=1;i<=n;i++)
                cin>>num[i];
            nn=num[1];
                for(int j=2;j<=n;j++)
                {
                    if(nn%num[j])
                    {
                        nn+=num[1];
                        j=1;//必须重置为1
                    }
                }
            cout<<nn<<endl;
    }
        return 0;
    }
  • 相关阅读:
    oss blob上传
    app中画一条细线
    antd和原生交互,原生掉前端的方法
    -webkit-touch-callout 图片下载
    ifram嵌入网址 有跨域问题
    ...state
    数组对象的复制
    在vue中使用tinymce组件
    autofs自动挂载服务
    podmen
  • 原文地址:https://www.cnblogs.com/CheeseIce/p/9704023.html
Copyright © 2011-2022 走看看