當前位置:首頁 » 編程語言 » c語言最大公約數最小公倍數

c語言最大公約數最小公倍數

發布時間: 2022-10-07 19:24:44

c語言編程,求兩個數的最大公約數和最小公倍數

這樣寫:
#include
void
main()
{
int
m,n,i,r,temp;
printf("請輸入第一個數的值:
");
scanf("%d",&m);
printf("請輸入第二個數的值:
");
scanf("%d",&n);
if(n>m)
{
temp=m;
m=n;
n=temp;
}
i=n;
while(i%m!=0)
{
i=i+n;
}
printf("最小公倍數是:%d
\n",i);
r=m%n;
while(r!=0)
{
m=n;
n=r;
r=m%n;
}
printf("最大公約數是:%d
\n",n);
}
圖:

Ⅱ 怎麼用C語言編求最大公約數和最小公倍數的程序

就發第一個吧,沒分沒動力...
因為2個題目是有聯系的,向1樓說的那樣
#include
<stdio.h>
main()
{
int
a,b,c,i;
printf("求2個數的最大公約數\n");
printf("輸入兩個數用空格隔開,再回車:\n");
scanf("%d",&a);
scanf("%d",&b);
for(i=1;i<=a||i<=b;i++)
{
if(a%i==0&&b%i==0)
c=i;
}
printf("最大公約數是:%d\n",c);
return
0;
}
補上
#include
<stdio.h>
main()
{
int
a,b,c,i;
printf("求2個數的最小公倍數\n");
printf("輸入兩個數用空格隔開,再回車:\n");
scanf("%d",&a);
scanf("%d",&b);
for(i=1;i<=a||i<=b;i++)
{
if(a%i==0&&b%i==0)
c=i;
}
printf("最小公倍數是:%d\n",a*b/c);
return
0;
}

Ⅲ c語言如何求最大公約數和最小公倍數

#include <stdio.h>

int main()

{

int a,b,c,m,t;

printf("請輸入兩個數: ");

scanf("%d%d",&a,&b);

if(a<b)

{

t=a;

a=b;

b=t;

}

m=a*b;

c=a%b;

while(c!=0)

{

a=b;

b=c;

c=a%b;

}

printf("最大公約數是: %d ",b);

printf("最小公倍數是: %d ",m/b);

}

(3)c語言最大公約數最小公倍數擴展閱讀

演算法思想

利用格式輸入語句將輸入的兩個數分別賦給 a 和 b,然後判斷 a 和 b 的關系,如果 a 小於 b,則利用中間變數 t 將其互換。

再利用輾轉相除法求出最大公約數,進而求出最小公倍數。最後用格式輸出語句將其輸出。

#include<stdio.h>是在程序編譯之前要處理的內容,稱為編譯預處理命令。編譯預處理命令還有很多,它們都以「#」開頭,並且不用分號結尾,所以是c語言的程序語句。

Ⅳ c語言函數調用求最大公約數和最小公倍數

#include&lt;stdio.h&gt;

int a;

int _Y(int x,int y);

int main()

{

int a,b,c,d;

printf(「請輸入數字:」);

scanf("%d,%d",&c,&d);//此處注意在輸出的時候數字之間要打都好,不然輸出結果錯誤

b=_Y(c,d);

a=c*d/b;

printf(「最大公約數為:%d 」,b);

printf(「最小公倍數為:%d 」,a);

return 0;

}

int _Y(int x,int y)

{

int e;

if(x&lt;y)

{

e=x;

x=y;

y=e;

}

while((e=x%y)!=0)

{

x=y;

y=e;

}

return(y);

}

總結:while循環是先判斷後循環 ,而do–while循環是先循環後判斷。

網路——while(循環語句及英文單詞)

Ⅳ C語言求最大公約數和最小公倍數

if(m%i==0 ||n%i==0) x=i;
這句有問題吧
應該是if(m%i==0 &&n%i==0) x=i;

Ⅵ C語言求最大公約數和最小公倍數

最大公約數和求最小公倍數

1、對兩個正整數a,b如果能在區間[a,0]或[b,0]內能找到一個整數temp能同時被a和b所整除,則temp即為最大公約數。

2、對兩個正整數a,b,如果若干個a之和或b之和能被b所整除或能被a所整除,則該和數即為所求的最小公倍數。

窮舉法求兩數的最大公約數

int divisor(int a,int b)

{

int temp;//定義義整型變數

temp=(a&gt;b)?b:a;//采種條件運算表達式求出兩個數中的最小值

while(temp&gt;0){

if(a%temp==0&&b%temp==0)//只要找到一個數能同時被a,b所整除,則中止循環

break;

temp--;//如不滿足if條件則變數自減,直到能被a,b所整除

}

return temp;//返回滿足條件的數到主調函數處

}

//窮舉法求兩數的最小公倍數

int multiple(int a,int b)

{

int p,q,temp;

p=(a&gt;b)?a:b;//求兩個數中的最大值

q=(a&gt;b)?b:a;//求兩個數中的最小值

temp=p;//最大值賦給p為變數自增作準備

while(1){//利用循環語句來求滿足條件的數值

if(p%q==0)

break;//只要找到變數的和數能被a或b所整除,則中止循環

p+=temp;//如果條件不滿足則變數自身相加

}

return p;

}

(6)c語言最大公約數最小公倍數擴展閱讀:

while使用示例

C++

int a=NULL;

while(a&lt;10)

{

a++;//自加

if(a&gt;5)//不等while退出循環,直接判斷循環

{

break;//跳出循環

}

}

結果:結束後a的值為6。

javascript

下面的例子定義了一個循環程序,這個循環程序的參數i的起始值為0。該程序會反復運行,直到i大於10為止。i的步進值為1。

&lt;html&gt;

&lt;body&gt;

&lt;script type="text/javascript"&gt;

var i=0

while(i&lt;=10)

{document.write("The number is"+i);

document.write("&lt;br/&gt;");

i=i+1;}

&lt;/script&gt;

&lt;/body&gt;

&lt;/html&gt;

結果

The number is0

The number is1

The number is2

The number is3

The number is4

The number is5

The number is6

The number is7

The number is8

The number is9

The number is10

網路——while

Ⅶ [C語言]編程:輸入兩個正整數,求其最大公約數和最小公倍數

程序如下:
main(){
int a,b,r,gcd,lcm;
printf("請輸入兩個正整數:");
scanf("%d%d",&a,%b);
while(r=a%b){
a=b;
b=r;
}
gcd=b;
lcm=a*b/gcd;
printf("gcd=%d,lcm=%d\n",gcd,lcm);
}
就是這樣。
有什麼問題請留言。

Ⅷ c語言中最大公因數和最小公倍數

#include <stdio.h>

main()
{
int a,b,c,m,t;
printf("請輸入兩個數:\n");
scanf("%d%d",&a,&b);
if(a<b)
{
t=a;
a=b;
b=t;
}
m=a*b;,
c=a%b;
while(c!=0)
{
a=b;
b=c;
c=a%b;
}
printf("最大公約數是:\n%d\n",b);
printf("最小公倍數是:\n%d\n",m/b);
}

Ⅸ c語言編程:輸入兩個正整數,求最大公約數和最小公倍數

#include

voidmain(){

inta,b,n1,n2,t;

while(true)

{

printf("任意輸入兩個正整數: ");

scanf("%d%d",&n1,&n2);

if(n1

{

t=n1;

n1=n2;

n2=t;

}

a=n1;

b=n2;

while(b!=0){/*利用輾除法,直到b為0為止*/

t=a%b;

a=b;

b=t;

}

printf("最大公約數為:%d ",a);

printf("最小公倍數為:%d ",n1*n2/a);

}}

(9)c語言最大公約數最小公倍數擴展閱讀

C語言求最大公約數輾轉相除法

#include<stdio.h>

intgcd(intm,intn);//將輾轉相除的過程封裝為函數,使主函數結構清晰。

intmain(void)

{

inta,b;

while(~scanf("%d%d",&a,&b)){//多組數據輸入時的方式之一與while(scanf("%d%d",&a,&b)!=EOF)用途相同

printf("%d ",gcd(a,b));

return0;

}

intgcd(intm,intn)

{

returnn?gcd(n,m%n):m;//此函數將輾轉相除的過程以遞歸的形式呈現,簡化程序屬於常規套路。

}

Ⅹ C語言程序:求兩個數的最大公約數和最小公倍數。

#include<iostream>
using
namespace
std;
int
f(int
p,int
q);
int
g(int
u,int
v,int
w);
int
main()
{
int
x,y,m,n;
cout<<"請輸入兩個整數"<<endl;

cin>>x>>y;

m=f(x,y);
n=g(x,y,m);
cout<<"這兩個數的最大公約數是"<<m<<"\n這兩個數的最小公倍數是"<<n<<endl;
}
int
f(int
p,int
q)
{

int
r;

p>q?r=q:r=p;
//找兩個數中最小的最小的

for(;p%r!=0||q%r!=0;r--);

return
r;
}
int
g(int
u,int
v,int
w)
//w是最大公約數
{

int
g;

g=u*v/w;
return
g;
}

熱點內容
腳本圈是引流加粉嗎 發布:2024-12-22 18:41:26 瀏覽:391
ajax文件上傳表單提交 發布:2024-12-22 17:55:00 瀏覽:856
win7無法共享的文件夾 發布:2024-12-22 17:53:39 瀏覽:41
華為手機密碼怎麼解鎖 發布:2024-12-22 17:53:38 瀏覽:554
android設置圓角textview 發布:2024-12-22 17:53:37 瀏覽:739
易語言源碼隱藏 發布:2024-12-22 17:39:23 瀏覽:101
android彈出窗口 發布:2024-12-22 17:16:22 瀏覽:299
qq為什麼改密碼還是登錄不上 發布:2024-12-22 17:08:00 瀏覽:220
解壓游戲香皂 發布:2024-12-22 16:49:29 瀏覽:353
新預演算法的亮點 發布:2024-12-22 16:36:30 瀏覽:960