首先我們得先搞清楚大公約數(shù)和最小公倍數(shù)的定義.
創(chuàng)新互聯(lián)公司是一家集做網站、網站制作、網站頁面設計、網站優(yōu)化SEO優(yōu)化為一體的專業(yè)網站設計公司,已為成都等多地近百家企業(yè)提供網站建設服務。追求良好的瀏覽體驗,以探求精品塑造與理念升華,設計最適合用戶的網站頁面。 合作只是第一步,服務才是根本,我們始終堅持講誠信,負責任的原則,為您進行細心、貼心、認真的服務,與眾多客戶在蓬勃發(fā)展的市場環(huán)境中,互促共生。大公約數(shù):兩個或多個整數(shù)共有約數(shù)中大的一個,例如,6和9的大公約數(shù)是3.
最小公倍數(shù):兩個或多個整數(shù)公有的倍數(shù)叫做它們的公倍數(shù),其中除0以外最小的一個公倍數(shù)就叫做這幾個整數(shù)的最小公倍數(shù),例如,6和21的最小公倍數(shù)是42.
一.輾轉相除法.
有兩個整數(shù)a和b
1.a%b = temp; 若temp=0;此時b就是a和b的大公約數(shù)
2.若b≠0,則a=b;b=temp;繼續(xù)a%b的操作
3.例如.21和6,? 21%6余3; 6%3余0;此時3就是他們的大公約數(shù)?
4.得到大公約數(shù)后,用這兩個數(shù)的乘積除以他們的大公約數(shù)就得到了最小公倍數(shù),例如,6和21,大公約數(shù)為3, (6*21)/3 = 42; 42就是他們的最小公倍數(shù).話不多說上代碼
#define _CRT_SECURE_NO_WARNINGS 1
#include//輾轉相除法,乘積除以大公因數(shù)得到最小公倍數(shù)
int fib(int a, int b)
{
while (a*b!=0)
{
int tmp = a % b;
a = b;
b = tmp;
}
//printf("%d %d\n", a, b);
return a;
}
int main()
{
int a = 0;
int b = 0;
printf("請輸入兩個數(shù):>\n");
scanf("%d %d", &a, &b);
int sum = a * b;
int m = fib(a,b);
printf("大公約數(shù) = %d\n", a);
printf("最小公倍數(shù) = %d\n",sum/m);
return 0;
}
運行結果
二.更象相減
1. 若a >b,則 a = a - b;
2. 若a< b,則 b = b - a;
3. 若 a = b,則 a(b)即為兩數(shù)的大公約數(shù)
4.若 a ≠ b,則繼續(xù)執(zhí)行第一步操作。
5.例如21和6.? 21-6=15(15>6); 15-6=9(9>6); 9-6=3(3<6); 6-3=3(3=3)//? 3就是這兩個數(shù)的大公約數(shù),同理,同樣的辦法可以得到兩個數(shù)的最小公倍數(shù),上代碼
int fib(int a, int b)
{
while (a != b)
{
if (a >b)
{
a = a - b;
}
else
{
b = b - a;
}
}
return a;
}
int main()
{
int a = 0;
int b = 0;
printf("請輸入兩個數(shù);>\n");
scanf("%d %d", &a, &b);
int sum = a * b;
int m = fib(a, b);
printf("大公約數(shù) = %d\n", m);
printf("最小公倍數(shù) = %d\n", sum/m);
return 0;
}
運行結果
三.硬算(窮舉).
有兩個整數(shù)a和b:
從1開始,讓a和b同時除以,直到某個數(shù)同時滿足被a和b整除,此時這個被整除的數(shù)字就是大公約數(shù),同樣道理,可以獲得最小公約數(shù).上代碼
int fib(int a, int b)
{
int n = 0;
for (int i = 1; i< b; i++)//i小于a和b任意一個都行
{
if ((a % i == 0) && (b % i == 0))
{
n = i;
}
}
return n;
}
int main()
{
int a = 0;
int b = 0;
printf("請輸入兩個數(shù);>\n");
scanf("%d %d", &a, &b);
int sum = a * b;
int m = fib(a, b);
printf("大公約數(shù) = %d\n", m);
printf("最小公倍數(shù) = %d\n", sum/m);
return 0;
}
運行結果
你是否還在尋找穩(wěn)定的海外服務器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調度確保服務器高可用性,企業(yè)級服務器適合批量采購,新人活動首月15元起,快前往官網查看詳情吧
當前名稱:幾種求最小公約數(shù)和最大公倍數(shù)的思考(C語言實現(xiàn))-創(chuàng)新互聯(lián)
鏈接地址:http://aaarwkj.com/article8/goiop.html
成都網站建設公司_創(chuàng)新互聯(lián),為您提供用戶體驗、網站設計公司、關鍵詞優(yōu)化、網站排名、網站維護、自適應網站
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內容