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;
    }
  • 相关阅读:
    团队冲刺第一天
    第八周进度报告
    团队会议01
    《梦断代码》阅读笔记(三)
    《梦断代码》阅读笔记(二)
    《梦断代码》阅读笔记(一)
    SCRUM第六天
    SCRUM第五天
    大白话strom——问题收集(持续更新ing)
    maven环境快速搭建(转)
  • 原文地址:https://www.cnblogs.com/CheeseIce/p/9704023.html
Copyright © 2011-2022 走看看