當前位置:首頁 » 編程語言 » 有關最大公約數的c語言題目
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

有關最大公約數的c語言題目

發布時間: 2023-07-06 06:27:49

c語言題目 遞歸計算兩個正整數的最大公約數

#include<stdio.h>
void swap(int *m,int *n){
int t;
if(m < n){
t = n;
n = m;
m = t;
}
}
int f(int m,int n){
if(m%n == 0)return n;
else
return f(n,m%n);
}
int main(){
int p = 0,m = 0,n = 0;
printf("請按照由大到小的順序輸入兩個整數,用空格隔開:\n");
scanf("%d%d",&m,&n);
swap(m,n);
p = f(m,n);
printf("兩個數的最大公約數是:%d\n",p);
return 0;
}

② 用C語言計算三個數的最大公約數

用C語言計算三個數的最大公約數的方法如下:

准備材料:Visual Studio 2019、電腦

1、首先打開Visual Studio,新建一個Win32控制台程序,


③ c語言求兩個數的最大公約數

思路:求兩個數的最大公約數使用輾轉相除法。
輾轉相除法,
又名歐幾里德演算法(Euclidean
algorithm)乃求兩個正整數之最大公因子的演算法。原理:兩個整數的最大公約數等於其中較小的數和兩數的差的最大公約數。
參考代碼:
#include <stdio.h>
int main()
{
int x,y,z;
scanf("%d%d",&x,&y);
while(x!=0)
{
z=x%y;
x=y;
y=z;
}
printf("%d\n",z);
return 0;
}
/*
運行結果:
6 27
3
*/

④ 如何用C語言求兩個數的最大公約數的三種演算法

1、相減法

#include&lt;stdio.h&gt;

int main()

{

int a,b;

int c=0;//計數器

while(1)//循環判斷的作用

{

printf("輸入兩個數字求最大公約數:");

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

while(a!=b)

{

if(a&gt;b)

a=a-b;

else

b=b-a;

c++;

}

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

printf("%d ",c);

}

return 0;

}

運行效果:

2、輾轉相除法:

#include&lt;stdio.h&gt;

int a,b,temp;

int Division(){

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

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

if(a&lt;b){

temp=a;

a=b;

b=temp;

}

while(a%b!=0){

temp=a%b;

a=b;

b=temp;

}

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

return 0;

}

3、窮舉法

#include&lt;stdio.h&gt;

int main()

{

int a,b,c;

int d=0;//計數器

while(1)

{

printf("輸入兩個數字求最大公約數:");

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

c=(a&gt;b)?b:a;//三目運算符

while(a%c!=0||b%c!=0)

{

c--;

d++;

}

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

printf("%d ",d);

}

return 0;

}