C 語言最小公倍數

2021-12-29 我在BAT

收錄於話題 #c語言 146個

請編寫程序,輸入兩個整數,計算並輸出它們的輸出最小公倍數。

說明:兩個整數可以是正數、零和負數。最小公倍數必須是自然數。題目保證兩個整數及其最小公倍數的絕對值都小於263

輸出最小公倍數(正整數) 

輸入樣例1 

935761 -5128800173759

輸出樣例1 

4799331179396895599

輸入樣例2

-4187757414530339  587895547746

輸出樣例2

929682146025735258

輸入樣例3

7  0

輸出樣例3

0

輸入樣例4

0  0

輸出樣例4

0


讀題:

  兩個整數可以是正數、零和負數 

  保證兩個整數及其最小公倍數的絕對值都小於263

  輸出最小公倍數(正整數)

通過上面的條件可以知道, 使用 unsigned  int   或者   int  類型的數據都是不可以的, 這裡只能用 long long 類型。

另外 我們知道  M, N 的最小公倍數 實際上是:  M*N/最大公約數。但是這裡有一點要注意的就是, 要考慮 M * N 值的範圍超過 long long 類型的最大值的情況, 所以 我們可以把 最小公倍數 的計算修改一下為:  M/最大公約數 * N 的方式  或者   N/最大公約數 * M 的形式:

源碼如下:

#include <stdio.h>#include <stdlib.h>
int main(){ long long a,b, m,t; long long ta, tb; scanf("%lld%lld", &a, &b);   if (a > b) { t = a; a = b; b = t; }  ta = a, tb = b; if (ta < 0) ta = -ta;   if (tb < 0) tb = -tb;   if (ta == 0 || tb == 0) { printf("0\n"); return 0; }    while (b) { t = b; b = a % b; a = t; }  m = tb/a * ta;    if (m < 0) m = -m;   printf("%lld\n", m);  return 0;}

最後編譯運行:

測試1:

測試2:

測試3:

測試4:

謝謝您的支持!

相關焦點

  • c語言簡單程序之求兩個數的最小公倍數與最大公約數
    { s = a % b; a = b;//把a的值換成與a%b的餘數,再把b的值與a交換並不斷除下去直到a%b==0,當b的值為零從而跳出循環, b = s; } printf("輸入的兩個數的最大公約數為%d",a);//上述循環結束後a的值就變成二者最大的公約數.
  • 公因數和最小公倍數
    在講完最小公因數和最小公倍數後,發現部分學生沒有完全理解。再總結一下。
  • 最小公倍數的威力
    有兩個自然數a,b,如果有一個自然數c能夠同時被a,b整除,則稱c是數a,b的公倍數,a,b的公倍數中最小的那個數,就是最小公倍數。概念如此簡單,運用必然精彩非凡,數學上很多內容都是如此。所以它們的最小公倍數就是
  • 最大公約數、最小公倍數(分解質因數法)
    最大公約數與最小公倍數是數論裡極其重要的概念,它們的求法和關係是小學數學中的重要考點。今天主要講以下幾點:①分解質因數法求最大公約數與最小公倍數②兩數的積等於最大公約數與最小公倍數的積③短除法求多個數的最小公倍數時的易錯點孩子們都會用短除法求最大公約數、最小公倍數,也知道:兩個數的乘積等於最大公約數與最小公倍數的積。
  • 公倍數和最小公倍數知識歸納
    二、最小公倍數1、概念:幾個數所有的公倍數中最小的一個公倍數,叫這幾個數的最小公倍數。例如:12、15、30的最小公倍數是602、表示符號:如a和b的最小公倍數是m,則記作[a,b]=m3、說明:幾個數的公倍數有無數個,而最小公倍數則只有一個。
  • 最小公倍數
    我是育才四小五(3)班的戴蕭和,今天我要分享的是《最小公倍數》 。      在下面標有1到50的表格中,用藍色標出4的倍數,用紅色標出6的倍數。我們發現表格中有紫色的數,已知紅色加藍色等於紫色,所以紫色的數既是4的倍數也是6的倍數。
  • 數學中的最大公約數和最小公倍數
    在數學課中,我們經常會遇到最大公約數和最小公倍數,但是往往很多人在學習中會很苦惱。接下來我們來看一道題:輸入兩個正整數m和n,求其最大公約數和最小公倍數。接下來,我們進行程序分析:(1)最小公倍數=輸入的兩個數之積除於它們的最大公約數,關鍵是求出最大公約數;(2)求最大公約數用輾轉相除法(又名歐幾裡德算法)1)證明:設c是a和b的最大公約數,記為c=gcd(a,b),a>=b,令r=a mod b設a=kc,b=jc,則k,j互素,否則c不是最大公約數據上,r=a-mb=kc-mjc=(k-mj
  • 小學奧數最大公約數和最小公倍數訓練A卷
    A.公約數 B.公倍數 C.最大公約數 D.最小公倍數   (2)下列四組數中,兩個數只有公約數1的數是( )。   A.13和91  B.21和51   C.34和51  D.15和28   (3)17是136和476的( )。
  • 最大公因數,最小公倍數
    規律:兩個整數中,如果某個數是另一個數的因數,那麼這個數就是這兩個數的最大公因數,如果兩個數互質,那麼它們的最大公因數就是1.知識點4幾個數公共的倍數叫做這幾個數的公倍數,其中最小的一個叫做這幾個數的最小公倍數。
  • 9和21的最小公倍數是 9和21的最小公倍數是什麼
    公倍數是我們在數學計算中經常要用到的數字,在一組數字中,公倍數往往不止一個,而除了0以外,最小的那個公倍數就是最小公倍數。下面我們就來計算下9和21的最小公倍數。幾個數共有的倍數叫做這幾個數的公倍數,其中除0以外最小的一個公倍數,叫做這幾個數的最小公倍數。
  • 16和28的最小公倍數 16和28的最小公倍數是什麼
    最小公倍數是我們在小學數學裡經常會接觸的知識點,也是常考的知識點。關於最小公倍數的概念,不知道大家還記得多少呢?是否還記得怎麼求兩個數的最小公倍數呢?16和28的最小公倍數是多少呢?讓我們一起去文中尋找答案吧。
  • 最大公因數+最小公倍數
    學習最大公因數的目的是為了約分,學習最小公倍數的目的是為了通分。這些知識點一環扣一環,關聯性比較大。但是對比著一起學習,是有利於學生掌握和理解的 。
  • 四和15的最小公倍數 四和15的最小公倍數是多少
    兩個或者多個整數公有的倍數叫做這幾個整數的公倍數,其中,除了0以外最小的那一個公倍數就叫做這幾個整數的最小公倍數。求最小公倍數方法有很多,那你知道4和15的最小公倍數是多少呢?我們一起來看看吧。
  • 9和12最小公倍數 9和12最小公倍數是多少
    學習最小公倍數是小學5年級的課程,有很多學習數學的小夥伴想知道最小公倍數怎麼求。如果有一個自然數a可以被自然數b整除,那麼我們稱a是b的倍數,而b是a的因數,最小公倍數就是指該兩數共有倍數中最小的那一個,那麼9和12最小公倍數是多少呢?讓我們一起來看看吧。
  • 13和65的最小公倍數 13和65的最小公倍數是多少
    在小學數學裡,兩個或者多個整數公有的倍數我們稱為這幾個整數的公倍數,而這幾個整數的最小公倍數就是所有公倍數中除0以外最小的一個公倍數。那你知道13和65的最小公倍數是多少嗎?下面讓我們一起來看一下吧。
  • 23和24的最小公倍數 23和24的最小公倍數是多少
    兩個或者多個整數的公有倍數就叫做這幾個整數的公倍數,而最小公倍數就是其中除0以外最小的那一個公倍數。那你知道23和24的最小公倍數是多少嗎?下面讓我們一起來看一下吧。23和24的最小公倍數是552。
  • 12和16的最小公倍數 12和16的最小公倍數是多少
    在數學中,最大公約數和最小公倍數通常都是同時出現的,它們的定義和方法都各不相同。那你知道12和16的最小公倍數是多少嗎?下面就來看看12和16的最小公倍數是多少吧!  12和16的最小公倍數  12和16的最小公倍數48。
  • 知識點突破——最小公倍數
    公倍數:最小公倍數:幾個數所有公倍數中最小的一個,叫做這幾個數的最小公倍數。兩個數的最小公倍數一定是它們最大公因數的倍數;兩個數的最大公因數一定是它們最小公倍數的因數。最小公倍數的兩個性質:性質1:兩個數的最小公倍數與最大公因數的積等於這兩個數的積。
  • 為什麼只算最大公因數和最小公倍數而不算最小公因數和最大公倍數
    小學五年級數學學習了關於「最大公因數」和「最小公倍數」。兩個數的最大公因數是指這兩個數的公因數中最大的那個數,最小公倍數則是指兩個數的公倍數中最小的那個數。再找最小公倍數:第一步,找出4的倍數(4,8,12,16,20,24……),找出6的倍數(6,12,18,24,30……);第二步,找出公倍數(12,24……);第三步,公倍數中最小的那個數是12,所以4和6的最小公倍數是12。當然,我們還可以用如下的短除法來計算兩個數的最大公因數和最小公倍數。
  • 小學數學知識點每日推薦4:公倍數與最小公倍數
    1.定義兩個或多個整數公有的倍數叫做它們的公倍數,其中除0以外最小的一個公倍數就叫做這幾個整數的最小公倍數。2.求最小公倍數的方法方法一:質因數分解法全部公有的質因數和各自獨立的質因數,它們連乘的積就是這幾個數的最小公倍數。例:用質因數分解法求15和18的最小公倍數。