當前位置:首頁 » 編程語言 » 計算一個數的公倍數c語言
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

計算一個數的公倍數c語言

發布時間: 2023-08-18 05:14:50

A. c語言求最大公約數和最小公倍數

c語言求最大公約數和最小公倍數,回答如下:

在做C語言相關練習的時候,會遇見比較經典的一道題型,就是求最大公約數或者最小公倍數。那麼先普及一下什麼是最大公約數和最大公倍數:

最大公約數:指能夠整除多個整數的最大正整數。例如8和12的最大公約數為4。

最小公倍數:兩個或多個整數最小的公共倍數。例如6和24的最小公倍數為24。

2.輾轉相除法

輾轉相除法是用來求最大公約數的,同時最小公倍數滿足這樣一條數學性質:兩數之積除以最大公約數即為最小公倍數.所以用輾轉相除法是可以間接求最小公倍數的。

輾轉相除法的大概思路:用兩數相除,如果余數為零即為所求,如果余數不為零,上空滲笑一輪相除所得的余數為除數,同時上一輪的除數現在成為被斗含除數,直到余數為零不再相除,此時的除數即為所求。

B. 如何用C語言求最小公倍數。。。

主要是輾轉相除法。
方法一、不設函數
#include
<stdio.h>
int
main
()
{int
p,r,n,m,temp;
printf("please
enter
two
positive
integer
numbers
n,m:");
scanf("%d
%d",&n,&m);
if
(n<m)
{temp=n;
n=m;
m=temp;
//把大數放在n中,
小數放在m中
}
p=n*m;
//先將n和m的乘積保存在p中,
以便求最小公倍數時用
while
(m!=0)
//求n和m的最大公約數
{r=n%m;
n=m;
m=r;
}
printf("HCF=%d\n",n);
printf("LCD=%d\n",p/n);
//
p是原來兩個整數的乘積
return
0;
}
方法二、調用函數
#include
<stdio.h>
int
main
()
{int
p,r,n,m,temp;
printf("please
enter
two
positive
integer
numbers
n,m:");
scanf("%d
%d",&n,&m);
if
(n<m)
{temp=n;
n=m;
m=temp;
//把大數放在n中,
小數放在m中
}
p=n*m;
//先將n和m的乘積保存在p中,
以便求最小公倍數時用
while
(m!=0)
//求n和m的最大公約數
{r=n%m;
n=m;
m=r;
}
printf("HCF=%d\n",n);
printf("LCD=%d\n",p/n);
//
p是原來兩個整數的乘積
return
0;
}

C. C語言編程,求最小公倍數。

1、首先介紹一下求最小公倍數的經典方法:

輾轉相除法
有兩整數a和b:
①a%b得余數c
②若c=0,則b即為兩數的最大公約數
③若c≠0,則a=b,b=c,再回去執行①
a*b除以最大公約數等於最小公倍數


2、因此原問題也化為最小公倍數和最大公約數一起求了。程序的演算法如下:

#include<stdio.h>


int lowest_common_multiple(int m,int n);

int main()

{

int m,n,c;


printf("請輸入m的值: ");

scanf("%d",&m);

printf("請輸入n的值: ");

scanf("%d",&n);

c=lowest_common_multiple( m, n);


printf("請輸出最小公倍數c的值: ");

printf("%d ",c);


return 0;

}


int lowest_common_multiple(int m,int n)

{

int remainder,m1,n1;


m1=m;

n1=n;


while (n != 0) {

remainder = m % n;

m = n;

n = remainder;

}


//printf("輸出最大公約數m: %d ", m); //此時的m為最大公約數


return m1*n1/m;

}

3、程序的輸出如下:


4、此題注釋的哪一個是輸出最大公約數的。