導航:首頁 > 源碼編譯 > 編程兩個數字的演算法

編程兩個數字的演算法

發布時間:2022-12-26 02:18:58

㈠ c語言編程求輸入兩個數的最大公約數和最小公倍數,怎麼做

輸入兩個正整數m和n,求其最大公約數和最小公倍數.用輾轉相除法求最大公約數 演算法描述:m對n求余為a,若a不等於0 則 m 0)
{
m_cup = m;

#include<stdio.h>

voidmain()

{

intm,n,m1,n1,t;

printf("請輸入兩個數(用空格隔開):");

scanf("%d%d",&m,&n);

if(n>m)

{

t=m;

m=n;

n=t;

}

m1=m;

n1=n;

while(n!=0)

{

t=m%n;

m=n;

n=t;

}

printf("%d和%d的最大公約數是:%d ",m1,n1,m);

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

}

㈡ c語言編寫程序 輸入兩個整數,計算兩數之和

十六進制顧名思義有16個基本元素。
那麼因為阿拉伯數字只有10個所以10進制大於等於10的用16進製表示才用到字母abcdef。

14(16)=1*16+4=20(10)
24(8)=2*8+4=20(10)

方法一:
#include
voidmain()
{
inta,b;
printf("Inputtwointegers:");
scanf("%d%d",&a,&b);
printf("和:a+b=%d ",a+b);
printf("差:a-b=%d ",a-b);
printf("積:a*b=%d ",a*b);
printf("商:a/b=%d ",a/b);
printf("余數:a%b=%d ",a%b);
}
方法二:
#include<stdio.h>
intadd(inta,intb){
returna+b;
}
voidmain(){
inta,b;
printf("Pleaseinputthevalueofa:");
scanf("%d",&a);
printf("Pleaseinputthevalueofb:");
scanf("%d",&b);
printf("%d+%d=%d ",a,b,add(a,b));
}

㈢ 求教:C語言兩個數的加法演算法。

c語言求+,-,*,/其實很考驗水平的
最簡單的就是a/b了,在不溢出的情況下可以這么算,還有很多要注意的地方,象你需要數的類型,運算的數的類型,比如你定義了兩個int型的量,相除,比如3/5,但是得到卻是0,而不是0.6,所以你想得到0.6就必須把3和5定義成double或者float類型,而這一特點被很經常的運用,比如你要得到1個數的每1位,它是int型,你就可以拿它/10,這樣就降了一位,而且沒有餘數了
碰到大數的+,-,*,/,都是靠運算每一位數字來得到最後結果的,c里沒有直接可求出結果的函數,有些人把這個做成摸版,因為經常用到,而事實上很多情況都是會溢出的,所以建議你去找個摸版,+,-,*,/,在google上打
c
大數的加減,肯定會有的
希望對你有幫助

㈣ 用C語言編寫程序求兩個數的最小公倍數,並輸出

如圖使用輾轉相除法求最小公倍數:

(4)編程兩個數字的演算法擴展閱讀:

輾轉相除法, 又名歐幾里德演算法(Euclidean algorithm),是求最大公約數的一種方法。

它的具體做法是:用較大數除以較小數,再用出現的余數(第一餘數)去除除數,再用出現的余數(第二餘數)去除第一餘數,如此反復,直到最後余數是0為止。如果是求兩個數的最大公約數,那麼最後的除數就是這兩個數的最大公約數。

兩個數的最大公約數是指能同時整除它們的最大正整數。

設兩數為a、b(a2b),求a和b最大公約數(a,b)的步驟如下:

(1)用a除以b(a2b),得a÷b=q..n(0≤n)。

(2)若rn=0,則(a,b)=b;

(3)若r10,則再用b除以n,得b÷n=q..2(0sr2)

(4)若r2=0,則(a,b)=rn;若r20,則繼續用r1除以r2,.…,如此下去,直到能整除為止。

其最後一個余數為0的除數即為(a,b)的最大公約數。

㈤ c語言編程:從鍵盤輸入兩個數,求它們的最小公倍數

main()
{
int p,r,n,m,temp;
printf("Please enter 2 numbers n,m:");
scanf("%d,%d",&n,&m);//輸入兩個正整數.
if(n<m)//把大數放在n中,把小數放在m中.
{temp=n;
n=m;
m=temp;
}
p=n*m;//P是原來兩個數n,m的乘積.
while(m!=0)//求兩個數n,m的最大公約數.
{
r=n%m;
n=m;
m=r;
}
printf("Its MAXGongYueShu:%d\n",n);//列印最大公約數.
printf("Its MINGongBeiShu:%d\n",p/n);列印最小公倍數.
基本原理如下:
用歐幾里德演算法(輾轉相除法)求兩個數的最大公約數的步驟如下:
先用小的一個數除大的一個數,得第一個余數;
再用第一個余數除小的一個數,得第二個余數;
又用第二個余數除第一個余數,得第三個余數;
這樣逐次用後一個數去除前一個余數,直到余數是0為止。那麼,最後一個除數就是所求的最大公約數(如果最後的除數是1,那麼原來的兩個數是互質數)。
例如求1515和600的最大公約數,
第一次:用600除1515,商2餘315;
第二次:用315除600,商1餘285;
第三次:用285除315,商1餘30;
第四次:用30除285,商9餘15;
第五次:用15除30,商2餘0。
1515和600的最大公約數是15。
兩個正整數的最小公倍數=兩個數的乘積÷兩個數的最大公約數
由於兩個數的乘積等於這兩個數的最大公約數與最小公倍數的積。這就是說,求兩個數的最小公倍數,可以先求出兩個數的最大公約數,再用這兩個數的最大公約數去除這兩個數的積,所得的商就是兩個數的最小公倍數。
例 求105和42的最小公倍數。
因為105和42的最大公約數是21,
105和42的積是4410,4410÷21=210,
所以,105和42的最小公倍數是210。

㈥ 編程提示用戶輸入兩個正整數,並求出它們的最大公約數,分別實現下 面三種演算法:

演算法一:
#include <stdio.h>
main()
{

int n1,n2,gcd=1,k=2;
scanf("%d %d",&n1,&n2);
while(k<n1||k<n2)
{
if(n1%k==0&&n2%k==0)
gcd=k;
k++;
}
printf("最大公約數為:%d",gcd);
}

演算法二:
#include <stdio.h>
void main()
{
int n1,n2,k,i;
scanf("%d %d",&n1,&n2);
if(n1>n2)
k=n2;
for(i=k;i>0;i--)
if(n1%i==0&&n2%i==0)
printf("最大公約數為:%d\n",i);
}

演算法三:
#include <stdio.h>
void main()
{
int gcd(int n1,int n2);
int n1,n2,k;
scanf("%d %d",&n1,&n2);
k=gcd(n1,n2);
printf("最大公約數為:%d\n",k);
}
int gcd(int n1,int n2)
{
if(n1%n2==0)
return n2;
else
return gcd(n2,n1%n2);
}

希望能幫助你,如有疑問請登錄http://we.share.lc在線為您解答!

㈦ C語言程序設計:輸入兩個整數,計算並輸出它們的和、積、差、商和余數各是多少

#include<stdio.h>
voidmain(){
inta,b;
printf("請輸入兩個數字");
scanf("%d",&a);
scanf("%d",&b);
printf("%d%d%d",(a+b),(a-b),(a*b));
if(b==0)
printf("NONENONE ");
else
printf("%d%d ",(a/b),(a%b));
}

具體如下:

1、簡介C語言是一門通用計算機編程語言,應用廣泛。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。盡管C語言提供了許多低級處理的功能,但仍然保持著良好跨平台的特性,以一個標准規格寫出的C語言程序可在許多電腦平台上進行編譯,甚至包含一些嵌入式處理器(單片機或稱MCU)以及超級電腦等作業平台。

2、基本介紹

C語言,是一種通用的、過程式的編程語言,廣泛用於系統與應用軟體的開發。具有高效、靈活、功能豐富、表達力強和較高的移植性等特點,在程序員中備受青睞。最近25年是使用最為廣泛的編程語言。

3、運算

C語言的運算非常靈活,功能十分豐富,運算種類遠多於其它程序設計語言。在表達式方面較其它程序語言更為簡潔,如自加、自減、逗號運算和三目運算使表達式更為簡單,但初學者往往會覺的這種表達式難讀,關鍵原因就是對運算符和運算順序理解不透不全。當多種不同運算組成一個運算表達式,即一個運算式中出現多種運算符時,運算的優先順序和結合規則顯得十分重要。在學習中,對此合理進行分類,找出它們與數學中所學到運算之間的不同點之後,記住這些運算也就不困難了,有些運算符在理解後更會牢記心中,將來用起來得心應手,而有些可暫時放棄不記,等用到時再記不遲。

㈧ C語言編程中,求兩個數的最大公約數和最小公倍數演算法是怎樣的

#include
main()
{
int
m,n,r;
printf("請輸入兩個數字:");
scanf("%d%d",&m,&n);
while(r!=0)
{
m=n;
n=r;
r=m%n;
}
printf("兩個數字的最大公約數為%d\n",n);
getch();
}
這個演算法就是把你初中算最大公約數的過程給程序化了。。你用以前的方法在紙上算算最大公約數
再對照WHILE裡面的演算法
就能明白咋回事了。。

㈨ c語言編程_窮舉法求兩個數的最大公約數

求最大公約數演算法:
(1)輾轉相除法
兩整數a和b:
① a%b得余數c
② 若c=0,則b即為兩數的最大公約數,結束
③ 若c≠0,則a=b,b=c,再回去執行①
(2)相減法
兩整數a和b:
① 若a>b,則a=a-b
② 若a<b,則b=b-a
③ 若a=b,則a(或b)即為兩數的最大公約數,結束
④ 若a≠b,則再回去執行①
(3)窮舉法:
① i= a b中的小數
② 若a,b能同時被i整除,則i即為最大公約數,結束
③ i--,再回去執行②
相關代碼:
#include <stdio.h>
int xc_gcd(int a,int b)
{
int c;
c=a%b;
while( c!=0 )
{
a=b;
b=c;
c=a%b;
}
return b;
}
int xj_gcd(int a,int b)
{
while( a!=b )
{
if ( a>b )
a-=b;
else
b-=a;
}
return b;
}
int qj_gcd(int a,int b)
{
int i;
i=(a>b)?a:b;
while( a%i!=0 && b%i!=0 )
i--;
return i;
}
void main()
{
//int a=36,b=27;
//int a=27,b=36;
int a=100,b=201;
printf("a=%d b=%d\n", a, b );
printf("輾轉相除法求最大公約數=%d\n", xc_gcd(a,b) );
printf("相減法求最大公約數=%d\n", xc_gcd(a,b) );
printf("窮舉法求最大公約數=%d\n", xc_gcd(a,b) );
}

㈩ 大一C語言,問題,編程,輸入兩個數。求兩個數的最大共約數。

演算法:輾轉取余。
比如,求12和15的最大公約數,比較大的數對比較小的數進行取余。15%12=3,12%3=0,所以3就是它們的最大公約數。具體做法是,你輸兩個整數m和n,假設m是這兩個數中比較大的一個,m對n進行取余,如果結果不為0,把原來n的值賦給m,把m對n取余得到的結果賦給n,這樣就得到了一組新的m和n的值。用這新的m再次對新的n進行取余,如果結果不為0,那麼把這個n的值賦給m,把這次m對n取余得到的結果賦給n,……直到m%n=0,此時m的值就是原來m、n的最大公約數。最小公倍數=原來的連個數的乘積除以最大公約數。
#include
<stdio.h>
void
main()
{
int
p,r,m,n;
printf("請輸入兩個正整數m,n:");
scanf("%d%d",&n,&m);
p=n*m;
if(m<n)
{
r=m;
m=n;
n=r;
}
while(n!=0)
{
r=m%n;
m=n;
n=r;
}
printf("它們的最大公約數為:%d\n",m);
printf("它們的最小公約數為:%d\n",p/m);
}

閱讀全文

與編程兩個數字的演算法相關的資料

熱點內容
c51單片機原 瀏覽:196
交行app在哪裡買東西 瀏覽:39
python高手之路pdf 瀏覽:84
iphone怎麼像安卓一樣返回 瀏覽:162
linuxtomcat埠佔用怎麼辦 瀏覽:722
表演pdf 瀏覽:923
微信如何更換伺服器 瀏覽:861
android使用html5 瀏覽:460
python可視化極坐標 瀏覽:386
程序員喜歡綠色 瀏覽:732
php編譯的主流軟體 瀏覽:366
操作系統伺服器版本下載地址 瀏覽:247
手機管家加密圖片打不開 瀏覽:841
基於單片機的智能散熱器控制器的設計 瀏覽:473
pdfadobereaderxi 瀏覽:490
本田雅閣壓縮機工作 瀏覽:683
河北編程排行榜 瀏覽:136
胸椎12輕度壓縮性骨折 瀏覽:106
演算法英文pdf 瀏覽:360
編譯原理第3版清華課後答案第二章 瀏覽:167