• HDOJ 1108 最小公倍数


    http://acm.hdu.edu.cn/showproblem.php?pid=1108

    #include<iostream>//这里用的暴力循环的方法,没有考虑它的时间复杂度,还可以有辗转相除法,
    using namespace std;
    int main(){
        int n=0,m=0,k=1,minG;
        while(cin>>n>>m){
            if(n>m){
                for(int i=1;i<=m;i++){
                    if(n%i==0 && m%i==0)
                        k=i;
                }
            }
            else {
                for(int i=1;i<=n;i++){
                        if(n%i==0 && m%i==0)
                            k=i;
                    }
            }
            minG=m/k*n;//这里注意要先除后乘,
            cout<<minG<<endl;
        }
        return 0;
    }

     下面是有辗转相除法做的,

     1 #include<iostream>
     2 using namespace std;
     3 int main(){
     4      int n,m,t,da,xiao;
     5      while(cin>>n>>m){
     6         da = (n>m)?n:m;
     7         xiao = (n<m)?n:m;
     8         while(xiao != 0){
     9             t = da % xiao;
    10             da = xiao;
    11             xiao = t;
    12         }
    13         cout<<n/da*m<<endl;
    14     }
    15     return 0;
    16 }
  • 相关阅读:
    if判断语句和循环语句
    列表,元祖,字典的详细概述
    day10
    day09
    day08
    java---基本程序设计总结
    day07
    day06
    day05
    day04
  • 原文地址:https://www.cnblogs.com/wsxjbky/p/3054176.html
Copyright © 2020-2023  润新知