當前位置:首頁 » 編程語言 » c語言設計多組數最大公因數
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言設計多組數最大公因數

發布時間: 2022-09-01 09:36:46

⑴ 用C++語言設計程序,求多組數(四個數以上)的最大公因數

#include<iostream>
usingnamespacestd;
intgcd(inta,intb)
{
intmin;
min=a>b?b:a;
while(min)
{
if(a%min==0&&b%min==0)break;
min--;
}

returnmin;
}

intmain()
{
int*a;
intn;
intr,i;
cout<<"inputtotalnumber";
cin>>n;
a=newint[n];
cout<<"input"<<n<<"numbers";
for(i=0;i<n;i++)
cin>>a[i];
r=gcd(a[0],a[1]);
for(i=2;i<n;i++)
r=gcd(r,a[i]);
cout<<r<<endl;

return0;
}

c語言中求兩個數的最大公因數,最小公倍數

當m1=5,n1=2時,
因為n1!=0,這個while(n1!=0)為真,執行循環體:
yu=5%2=1;
m1=2;
n1=1;

當m1=2,n1=1時,
因為n1!=0,這個while(n1!=0)為真,執行循環體:
yu=2%1=0;
m1=1;
n1=0;
因為n1=0了,退出循環。
最大公約數等於m1,等於1。

⑶ c語言怎樣求多個數的最大公約數和最小公倍數

用循環,
最大公約數,任選一個數,從該數開始遞減,驗證是否能被全部的數整除,如能,即得最大公約數
最小公倍數,任選一個數,從該數開始遞增,驗證是否能整除全部的數,如能,即得最小公倍數

⑷ c語言輸入多組數據,求最大公約數和最小公倍數

#include<stdio.h>
#include<math.h>
intmain()
{
intn,a,b,i,m,t,c;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d%d",&a,&b);
m=a;
t=b;
while(b!=0)
{
c=a%b;
a=b;
b=c;
}
printf("%d%d ",a,m*t/a);
}
return0;
}
望採納

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

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

准備材料:Visual Studio 2019、電腦

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


⑹ C語言求最大公因數和最小公倍數的N種方法

(A)
#include<stdio.h>

int f(int a,int b,int n)
{if(a%n+b%n) n=f(a,b,n-1);
return n;
}

void main()
{int a,b,t,n,m;
printf("input a,b:\n");
scanf("%d%d",&a,&b);
n=(a>b)?b:a;
m=a*b/f(a,b,n);
printf("zui da gong yue shu:%d\nzui xiao gong bei shu:%d\n",f(a,b,n),m);
}

(B)
把上面的遞歸換成循環
#include<stdio.h>
void main()
{
int x,y,a,m,n,t;
printf("please input two num x,y\n");
scanf("%d%d",&x,&y);
for(a=x>y?x:y;a>0;a--)
if(x%a==0&&y%a==0)
{
printf("x,y最大公約數 %d\n",a);
break;
}
m=x/a;
n=y/a;
t=a*m*n;
printf("x,y最小公倍數 %d\n",t);
}

(C)
輾轉相除法,這才是最好的方法,一定要掌握
http://ke..com/view/255668.html?wtp=tt
有了大公約,兩數乘後除以大公約即為小公倍

⑺ c語言 求最大公約數與最小公倍數

#包括中
無效的主要()/ /找到公分母,想法:使一個變數等於最小的一個的兩個數,如果其剩餘的兩個數等於0,則這個變數是他們的共同點,否則這個變數減1

{

INT I,J,T;

的scanf(「%d個,為%d」,&I&J); BR />如(i <j時)

{

T = I;

i = j時;

J = T;

}

對於(t = j的; T> = 1,T - )

{

如果(十%T == 0 &&我%T == 0)

{

的printf(「%d個\ N「的,T);

突破;

}

}

}

無效的主要()/ /找到的最大公因數,心想:使一個變數等於最大的一個數2,數2,如果需要大於等於0,那麼這個變數是他們的共同的特徵,否則該變數加1

{

整數I,J ,T;

scanf函數(「%d個,為%d」,&I,&J);

倘(i <j時)

{

T = I;
> i = j時;

J = T;

}

對於(t = I,T> = 1,T +)

{

如果(T%在i == 0 &&%T == 0)

{

printf(「請為%d \ n」,t)的;

打破;

}
} BR />}

⑻ c語言問題 求n個數最大公約數

#include<stdio.h>
main(void)
{inta[9],n,t,i,temp1,temp2,c,d;
printf("請輸入您所要輸入的數字個數(須在2-9之間) ");
scanf("%d",&n);
for(i=0;i<n;i++)
{scanf("%d",&a[i]);
}
if(a[0]<a[1])
{temp1=a[0];
a[0]=a[1];
a[1]=temp1;
}
while(a[0]%a[1]!=0)
{c=a[0];
a[0]=a[1];
a[1]=c%a[1];
}
a[0]=a[1];
for(i=0;i<n;i++)
{if(a[0]<a[i])
{temp2=a[0];
a[0]=a[i];
a[i]=temp2;
}
while(a[0]%a[i]!=0)
{d=a[0];
a[0]=a[i];
a[i]=d%a[i];
}
a[0]=a[i];
}
printf("您所輸入的數字最大公約數為%d",a[0]);

}

⑼ c語言如何數多個數的最小公倍數和最大公約數,求代碼

#include
<stdio.h>
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語言怎麼求多個數的最小公倍數與最大公約數

三個數的最大公約數與最小公倍數(如果輸很多可以寫到循環里)
int a,b,c,i,temp,ji;
if(a<b)
{
temp=a;
a=b;
b=temp;
}
ji=a*b;
i=a%b;
while(i!=0)
{
a=b;
b=i;
i=a%b;
}
//這時b就是這兩個數的最大公約數
ji=ji/b*c;
if(b<c)
{
temp=b;
b=c;
c=temp;
}
i=b%c;
while(i!=0)
{
b=c;
c=i;
i=b%c;
}
//這時c就是這三個數的最大公約數,ji/c就是這三個數的最小公倍數