1. 程式人生 > >通過例子學習C++(二)最小公倍數

通過例子學習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迴圈

程式執行後效果如下:

相關推薦

通過例子學習C++小公倍數

本文是通過例子學習C++的第二篇,通過這個例子可以快速入門c++相關的語法。 題目要求:輸入兩個整數,求其最小公倍數。 解答方法一:兩個數的最小公倍數,是這兩個數中的大數,或者是這2個數的倍數中的最小數字。 這兩個數字用num1和num2儲存,max表示其中最大數字。如果max能同時整除num1和num2,則

通過例子學習ABAP--INSERT語句對於三種類型的內表不同效果

(1)  通過索引插入行: INSERT LINE INTO ITAB INDEX IDX. (2)一般性的插入單行:INSERT [LINE INTO | INITIAL LINE INTO ] TABLE ITAB. 語句中增加了TABLE關鍵字,對於不同型別的內表,其意

通過例子進階學習C++計算2的64次方,不服寫寫看

本文是通過例子學習C++的第四篇,通過這個例子可以快速入門c++相關的語法。 1.乍一看題目非常簡單,簡單思考一下,可以通過for迴圈實現: #include <iostream> using namespace std; int main() { int num = 1; for

通過例子進階學習C++你真的能寫出約瑟夫環麼

本文是通過例子學習C++的第六篇,通過這個例子可以快速入門c++相關的語法。 1.問題描述 n 個人圍坐在一個圓桌周圍,現在從第 s 個人開始報數,數到第 m 個人,讓他出局;然後從出局的下一個人重新開始報數,數到第 m 個人,再讓他出局......,如此反覆直到所有人全部出局為止。 2.問題分析及用陣列求解

通過例子進階學習C++CMake專案通過模板庫實現約瑟夫環

本文是通過例子學習C++的第七篇,通過這個例子可以快速入門c++相關的語法。 1.問題描述 回顧一下約瑟夫環問題:n 個人圍坐在一個圓桌周圍,現在從第 s 個人開始報數,數到第 m 個人,讓他出局;然後從出局的下一個人重新開始報數,數到第 m 個人,再讓他出局......,如此反覆直到所有人全部出局為止。 上

【筆記篇】良心的計算幾何學習筆記

完整 size cos 一道 細節問題 avi 參數 cnblogs 關系 依然放上本文的github地址... 作業QwQ 先來說一下上次留下的例題. poj這道題並沒有實數比較模式.. 所以被精度勢力幹翻. 交上去WA掉竟然是因為-0.00和0.00不相等? 根據對拍

C++學習筆記——交換函數swap

pos 變量 col 值傳遞 一段 turn 如何選擇 ret 原因 這次我們要透過一個簡單的函數swap深入理解函數傳參的本質以及在C++中如何選擇傳參方式。 先來看第一段程序: void swap(int x, int y) { int temp = y;

C++ 學習筆記 const的加強

right 變量 pla 實例 編譯器 display 簡介 c語言 style const 含義為只讀。如果在程序中顯式改變const變量那麽編譯會報錯。 C語言的const: 在C語言中const 變量是放在內存中,如果使用指針可以簡介改變const變量。所以在C語

Meteor學習路程之模板的例子

首先先介紹Meteor模板系統Spacebars: Spachebars只是在HTML基礎上多個標籤,Meteor只是讓模板和邏輯進行分離。為了讓連線變得更加流暢,一個模板需要helper(helper就是廚師用的食材(資料),烹飪好佳餚(模板),再由伺服器端到你面前),換另一種說法就是(模

Windows Service 學習系列C# windows服務:安裝、解除安裝、啟動和停止Windows Service

一、通過CMD安裝、解除安裝、啟動、停止Windows Service     方法一   1.以管理員身份執行cmd   2.安裝windows服務       切換cd C:\Windows\Microsoft.NET\Framework\v4.0.30319(InstallUtil.e

《面向物件程式設計——C++語言描述》學習筆記

第二章 從C到C++  2.1main函式 1.C++中需要寫int main()不能只是main() 2.main()函式裡面最後有一個return 0; 3.main()被啟動程式碼呼叫,而啟動程式碼是編譯器新增到程式中的,是程式和作業系統的橋樑。 4.C++中main()中

Object C語法學習筆記

1、@property與@synthesize配對使用。 @property預編譯指令的作用是自動宣告屬性的setter和getter方法。 @synthesize 建立了該屬性的訪問程式碼 功能:讓編譯好器自動編寫一個與資料成員同名的方法宣告來省去讀寫方法的宣告。 2、強引用(__st

C++學習筆記:開啟檔案、讀取資料、資料定位與資料寫入

1.開啟二進位制檔案(fopen)、讀取資料(fread),應用示例如下: FILE *fp = fopen("data.yuv", "rb+"); //開啟當前目錄中的data.yuv檔案 char *buffer = ( char*) malloc (sizeof(char)*FrameSi

北京大學MOOC C++學習筆記

類成員的可訪問範圍:  在類的定義中,用下列訪問範圍關鍵字來說明類成員 可被訪問的範圍: – private: 私有成員,只能在成員函式內訪問 – public : 公有成員,可以在任何地方訪問 – protected: 保護成員,以後再說 如過某個成員前面沒有上述關

Retrofit2 學習總結 Rxjava +Retrofit +java web伺服器簡單小例子

通過一段時間的學習,Rxjava Retrofit2終於算是入了門,學習的過程中寫了個簡單的小例子,像我這樣的人學習東西還是喜歡有一個正確的例子用來學習的。 本demo已經上傳到了gitHup: java伺服器 :https://github.com/tanglonghui/Retrofit

C學習筆記-理論

C學習筆記(二)-理論 理論選擇易錯題 本部落格用來記錄理論易錯題及一些重點概念。 如存在問題,歡迎指出。 理論選擇易錯題 What is the output of this C code? #include <stdio

Axis2學習筆記通過services.xml釋出ws服務

第一步 建立一個pojo類 package com.service; public class SimpleService { public String getGreeting(String name){ return "Hello,"+name+"service.xml

c++學習筆記-- c語言基礎

c語言基礎 課程來源:coursera:程學設計與演算法(Peking University,北京大學) 課程連結:程式設計與演算法 本篇簡介:這一部分是系列課第一節的後半部分,主要總結了c語言的資料型別、運算成分和控制結構。 一. 從現實問題到計算機程式 1.1 結構化程式

C# EMGU 3.4.1學習筆記XML和YAML檔案的寫入

以下是《OpenCV3程式設計入門》中5.6.3的示例程式的C# + EMGU 3.4.1版,和C++程式相比,有如下幾點不同: 1. 使用Matrix<>儲存多維陣列,多維陣列的各維需要使用{}擴起來,之間用逗號分隔; 2. C#中無法使用<<和

VS2010 C++ 學習筆記 記憶體管理 new delete

記憶體的申請與示範  ***********************************************************************************