• 通过例子进阶学习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循环

    程序运行后效果如下:

    所有文章,坚持原创。如有转载,敬请标注出处。
  • 相关阅读:
    Javascript 使用字符串
    JavaScript精简学习4(动态表单和链接处理)
    JavaScript 使用表单
    事半功倍之Javascript (2)
    jQuery隐藏按钮
    .NET线程同步之Interlocked和ReadWrite 锁线程同步——事件构造
    linux命令汇总
    好的设计能减少大量的工作
    Prism学习笔记
    编写C函数的技巧
  • 原文地址:https://www.cnblogs.com/siweihz/p/12184578.html
Copyright © 2020-2023  润新知