zoukankan      html  css  js  c++  java
  • 通过例子进阶学习C++(二)最小公倍数

    本文是通过例子学习C++的第二篇,通过这个例子可以快速入门c++相关的语法。

    题目要求:输入两个整数,求其最小公倍数。

    解答方法一:两个数的最小公倍数,是这两个数中的大数,或者是这2个数的倍数中的最小数字。

    这两个数字用num1和num2存储,max表示其中最大数字。如果max能同时整除num1和num2,则max为起最小公倍数,否则max=max+1,重复该循环直到max能同时整除num1和num2。

    #include <iostream>
    using namespace std;
    int main()
    {
    	int num1,num2,max;
    	cin>>num1>>num2;
        
        //求num1和num2中的最大数字
        if(num1>num2){
            max = num1;
        }else{
            max = num2;
        }
            
        while(max %num1 !=0 || max %num2 !=0){
            max ++;
        }
        cout<<"数字"<<num1<<"和数字"<<num2<<"的最小公倍数为:"<<max;
    	return 0;
    }
    

    通过该例子,可以学习:

    • if-else语句
    • while循环

    程序运行后效果如下:

    上述求最小公倍数的方法,执行效率不高。可以改进如下:

    解答方法二:两个数的最小公倍数,一定是两个数中最大数的整数倍,可以从1倍,2倍,...直到是两个数字的倍数为止。

    #include <iostream>
    using namespace std;
    
    int main()
    {
    	int num1,num2,max,n=1,current;
    	cin>>num1>>num2;
     
        // 通过三元表达式 求num1和num2中的最大数字
        max = (num1 > num2) ? num1 : num2;
        do{
            current = max * n;
            n++;
        }while(current %num1 !=0 || current %num2 !=0);
    
        cout<<"数字"<<num1<<"和数字"<<num2<<"的最小公倍数为:"<<current;
    	return 0;
    }
    

    通过该例子,可以学习:

    • 三元表达式
    • do-while循环

    程序运行后效果如下:

    所有文章,坚持原创。如有转载,敬请标注出处。
  • 相关阅读:
    js控制treeview默认展开
    java 在方法中新建线程,传参和加锁详解
    springmvc加载xml文件读取本地properties配置文件
    Android系统目录结构详解
    支付宝沙箱测试-ALI40247
    转化.vdi到.vmdk
    查看网页自动保存的密码
    天猫魔盘在 deepin-linux中的使用
    百度云-上传服务器出错误
    安装出现了error launching installer
  • 原文地址:https://www.cnblogs.com/siweihz/p/12184578.html
Copyright © 2011-2022 走看看