问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

C语言 最大公约数和最小公倍数

发布网友 发布时间:2022-04-24 02:39

我来回答

6个回答

热心网友 时间:2023-10-22 11:47

/*利用辗转相除法求最大公因数*/
#include "stdio.h"
int Gcd(int m,int n)/*最大公约数*/
{
int t;
if(m<n)
{
t = n,n = m,m = t;
}
if(n == 0) return m;
else return Gcd(n,m%n);
}
void main()
{
int A,B,gys,gbs;
scanf("%d %d",&A,&B);
gys=Gcd(A,B);
gbs=A*B/gys;
printf("最大公因数为:%d,最小公倍数为%d\n",gys,gbs);
}

热心网友 时间:2023-10-22 11:48

#include<stdio.h>
int *(int v1,int v2)
{
while(v2)
{
int temp=v2;
v2=v1%v2;
v1=temp;
}
return v1;
}
int main()
{

int a,b,gys,gbs;
scanf("%d %d",&a,&b);
gys=*(a,b);
gbs=a*b/gys;
printf("最大公因数为:%d,最小公倍数为%d\n",gys,gbs);
return 0;
}

热心网友 时间:2023-10-22 11:48

#include <stdio.h>
void main()
{
int x,y,num1,num2,temp;
printf("输入2个正整数:\n");
scanf("%d%d",&num1,&num2);
if(num1>num2)
{
temp=num1;
num1=num2;
num2=temp;
}
x=num1;
y=num2;
while(y!=0)
{
temp=x%y;
x=y;
y=temp;
}
printf("最大公约数%d\n",x);
printf("最小公倍数%d\n",num1*num2/x);
}

热心网友 时间:2023-10-22 11:49

下面给出一段求n个数的最大公约数和最小公倍数的程序
#include<stdio.h>
int maxgys(int a[],int n);
int mingbs(int a[],int n);
main()
{
int n,i=0;
long a[10],b[10],maxg,ming;
printf("请输入你所要求的数据的个数\n");
scanf("%d",&n);
do
{
printf("请输入第%d个数:",i+1);
scanf("%ld",&a[i]);
i++;
}while(i<n);
printf("你所输入的%d个数如下:\n",n);
for(i=0;i<n;i++)
{
b[i]=a[i]; //将a数组中的值复制一份给b数组
printf("%ld ",a[i]);
}
printf("\n");
maxg=maxgys(a,n);
ming=mingbs(b,n);
printf("最大公约数为:%ld\n",maxg);
printf("最小公倍数为:%ld\n",ming);
}
long maxgys(long a[],int n)
{
int i,j;
long t;
while(1)
{
for(i=0;i<n-1;i++) //对数组进行从大到小的排序
{
for(j=i+1;j<n;j++)
{
if(a[i]<a[j])
{
t=a[i];a[i]=a[j];a[j]=t;
}
}
}
if(a[0]==a[n-1])
return a[0];
else
{
for(i=0;i<n-1;i++)
{
if(a[i]%a[i+1]==0)
a[i]=a[i+1];
else
a[i]=a[i]%a[i+1];
}
}
}

}

long mingbs(long a[],int n)
{
int i,j,k=0,p=0;
long t;
for(i=1;i<n;i++) //找出数组中的最大值
{
if(a[k]<a[i])
k=i;
}
t=a[0];a[0]=a[k];a[k]=t; //将最大值放在a[0]中
t=a[0]; //再将a[0]的值放入t中,下面增值的时候会用到
while(1)
{
if(p==0)
{
for(i=1;i<n;i++)
{
if(a[0]%a[i]!=0)
{
a[0]+=t;
p=0; //p用来判断a[0]是否可以整除数组后面的值,如果不能返回0,如能返回1
}
else
p=1;
}
}
if(p==1)
return a[0];
}
}

热心网友 时间:2023-10-22 11:49

#include<stdio.h>
main()
{ int m,n,t,k,a,b;
printf("请输入2个整数\n");
scanf("%d%d",&m,&n);
if(m<n){
t=m;
m=n;
n=t;
}
a=m;
b=n;
k=m*n;
while(b!=0)
{ t=a%b;
a=b;
b=t;
}
printf("最大公约数是%d\n",n);
printf("%d",k);
printf("最小公倍数%d\n",k/n);

getch();
}

热心网友 时间:2023-10-22 11:50

#include <stdio.h>
#include <stdlib.h>
int Div(int m,int n)
{
if(m < n)
{
int temp = m;
m = n;
n = temp;
}
while(n)
{
int temp = m % n;
m = n;
n = temp;
}
return m;
}
int main()
{
int m,n;
scanf("%d%d",&m,&n);
int dive = Div(m,n);
int mul = m * n / dive;
printf("%d %d\n",dive,mul);
system("pause");
return 0;
}

热心网友 时间:2023-10-22 11:47

/*利用辗转相除法求最大公因数*/
#include "stdio.h"
int Gcd(int m,int n)/*最大公约数*/
{
int t;
if(m<n)
{
t = n,n = m,m = t;
}
if(n == 0) return m;
else return Gcd(n,m%n);
}
void main()
{
int A,B,gys,gbs;
scanf("%d %d",&A,&B);
gys=Gcd(A,B);
gbs=A*B/gys;
printf("最大公因数为:%d,最小公倍数为%d\n",gys,gbs);
}

热心网友 时间:2023-10-22 11:48

#include<stdio.h>
int *(int v1,int v2)
{
while(v2)
{
int temp=v2;
v2=v1%v2;
v1=temp;
}
return v1;
}
int main()
{

int a,b,gys,gbs;
scanf("%d %d",&a,&b);
gys=*(a,b);
gbs=a*b/gys;
printf("最大公因数为:%d,最小公倍数为%d\n",gys,gbs);
return 0;
}

热心网友 时间:2023-10-22 11:48

#include <stdio.h>
void main()
{
int x,y,num1,num2,temp;
printf("输入2个正整数:\n");
scanf("%d%d",&num1,&num2);
if(num1>num2)
{
temp=num1;
num1=num2;
num2=temp;
}
x=num1;
y=num2;
while(y!=0)
{
temp=x%y;
x=y;
y=temp;
}
printf("最大公约数%d\n",x);
printf("最小公倍数%d\n",num1*num2/x);
}

热心网友 时间:2023-10-22 11:49

下面给出一段求n个数的最大公约数和最小公倍数的程序
#include<stdio.h>
int maxgys(int a[],int n);
int mingbs(int a[],int n);
main()
{
int n,i=0;
long a[10],b[10],maxg,ming;
printf("请输入你所要求的数据的个数\n");
scanf("%d",&n);
do
{
printf("请输入第%d个数:",i+1);
scanf("%ld",&a[i]);
i++;
}while(i<n);
printf("你所输入的%d个数如下:\n",n);
for(i=0;i<n;i++)
{
b[i]=a[i]; //将a数组中的值复制一份给b数组
printf("%ld ",a[i]);
}
printf("\n");
maxg=maxgys(a,n);
ming=mingbs(b,n);
printf("最大公约数为:%ld\n",maxg);
printf("最小公倍数为:%ld\n",ming);
}
long maxgys(long a[],int n)
{
int i,j;
long t;
while(1)
{
for(i=0;i<n-1;i++) //对数组进行从大到小的排序
{
for(j=i+1;j<n;j++)
{
if(a[i]<a[j])
{
t=a[i];a[i]=a[j];a[j]=t;
}
}
}
if(a[0]==a[n-1])
return a[0];
else
{
for(i=0;i<n-1;i++)
{
if(a[i]%a[i+1]==0)
a[i]=a[i+1];
else
a[i]=a[i]%a[i+1];
}
}
}

}

long mingbs(long a[],int n)
{
int i,j,k=0,p=0;
long t;
for(i=1;i<n;i++) //找出数组中的最大值
{
if(a[k]<a[i])
k=i;
}
t=a[0];a[0]=a[k];a[k]=t; //将最大值放在a[0]中
t=a[0]; //再将a[0]的值放入t中,下面增值的时候会用到
while(1)
{
if(p==0)
{
for(i=1;i<n;i++)
{
if(a[0]%a[i]!=0)
{
a[0]+=t;
p=0; //p用来判断a[0]是否可以整除数组后面的值,如果不能返回0,如能返回1
}
else
p=1;
}
}
if(p==1)
return a[0];
}
}

热心网友 时间:2023-10-22 11:49

#include<stdio.h>
main()
{ int m,n,t,k,a,b;
printf("请输入2个整数\n");
scanf("%d%d",&m,&n);
if(m<n){
t=m;
m=n;
n=t;
}
a=m;
b=n;
k=m*n;
while(b!=0)
{ t=a%b;
a=b;
b=t;
}
printf("最大公约数是%d\n",n);
printf("%d",k);
printf("最小公倍数%d\n",k/n);

getch();
}

热心网友 时间:2023-10-22 11:47

/*利用辗转相除法求最大公因数*/
#include "stdio.h"
int Gcd(int m,int n)/*最大公约数*/
{
int t;
if(m<n)
{
t = n,n = m,m = t;
}
if(n == 0) return m;
else return Gcd(n,m%n);
}
void main()
{
int A,B,gys,gbs;
scanf("%d %d",&A,&B);
gys=Gcd(A,B);
gbs=A*B/gys;
printf("最大公因数为:%d,最小公倍数为%d\n",gys,gbs);
}

热心网友 时间:2023-10-22 11:48

#include<stdio.h>
int *(int v1,int v2)
{
while(v2)
{
int temp=v2;
v2=v1%v2;
v1=temp;
}
return v1;
}
int main()
{

int a,b,gys,gbs;
scanf("%d %d",&a,&b);
gys=*(a,b);
gbs=a*b/gys;
printf("最大公因数为:%d,最小公倍数为%d\n",gys,gbs);
return 0;
}

热心网友 时间:2023-10-22 11:50

#include <stdio.h>
#include <stdlib.h>
int Div(int m,int n)
{
if(m < n)
{
int temp = m;
m = n;
n = temp;
}
while(n)
{
int temp = m % n;
m = n;
n = temp;
}
return m;
}
int main()
{
int m,n;
scanf("%d%d",&m,&n);
int dive = Div(m,n);
int mul = m * n / dive;
printf("%d %d\n",dive,mul);
system("pause");
return 0;
}

热心网友 时间:2023-10-22 11:48

#include <stdio.h>
void main()
{
int x,y,num1,num2,temp;
printf("输入2个正整数:\n");
scanf("%d%d",&num1,&num2);
if(num1>num2)
{
temp=num1;
num1=num2;
num2=temp;
}
x=num1;
y=num2;
while(y!=0)
{
temp=x%y;
x=y;
y=temp;
}
printf("最大公约数%d\n",x);
printf("最小公倍数%d\n",num1*num2/x);
}

热心网友 时间:2023-10-22 11:49

下面给出一段求n个数的最大公约数和最小公倍数的程序
#include<stdio.h>
int maxgys(int a[],int n);
int mingbs(int a[],int n);
main()
{
int n,i=0;
long a[10],b[10],maxg,ming;
printf("请输入你所要求的数据的个数\n");
scanf("%d",&n);
do
{
printf("请输入第%d个数:",i+1);
scanf("%ld",&a[i]);
i++;
}while(i<n);
printf("你所输入的%d个数如下:\n",n);
for(i=0;i<n;i++)
{
b[i]=a[i]; //将a数组中的值复制一份给b数组
printf("%ld ",a[i]);
}
printf("\n");
maxg=maxgys(a,n);
ming=mingbs(b,n);
printf("最大公约数为:%ld\n",maxg);
printf("最小公倍数为:%ld\n",ming);
}
long maxgys(long a[],int n)
{
int i,j;
long t;
while(1)
{
for(i=0;i<n-1;i++) //对数组进行从大到小的排序
{
for(j=i+1;j<n;j++)
{
if(a[i]<a[j])
{
t=a[i];a[i]=a[j];a[j]=t;
}
}
}
if(a[0]==a[n-1])
return a[0];
else
{
for(i=0;i<n-1;i++)
{
if(a[i]%a[i+1]==0)
a[i]=a[i+1];
else
a[i]=a[i]%a[i+1];
}
}
}

}

long mingbs(long a[],int n)
{
int i,j,k=0,p=0;
long t;
for(i=1;i<n;i++) //找出数组中的最大值
{
if(a[k]<a[i])
k=i;
}
t=a[0];a[0]=a[k];a[k]=t; //将最大值放在a[0]中
t=a[0]; //再将a[0]的值放入t中,下面增值的时候会用到
while(1)
{
if(p==0)
{
for(i=1;i<n;i++)
{
if(a[0]%a[i]!=0)
{
a[0]+=t;
p=0; //p用来判断a[0]是否可以整除数组后面的值,如果不能返回0,如能返回1
}
else
p=1;
}
}
if(p==1)
return a[0];
}
}

热心网友 时间:2023-10-22 11:49

#include<stdio.h>
main()
{ int m,n,t,k,a,b;
printf("请输入2个整数\n");
scanf("%d%d",&m,&n);
if(m<n){
t=m;
m=n;
n=t;
}
a=m;
b=n;
k=m*n;
while(b!=0)
{ t=a%b;
a=b;
b=t;
}
printf("最大公约数是%d\n",n);
printf("%d",k);
printf("最小公倍数%d\n",k/n);

getch();
}

热心网友 时间:2023-10-22 11:50

#include <stdio.h>
#include <stdlib.h>
int Div(int m,int n)
{
if(m < n)
{
int temp = m;
m = n;
n = temp;
}
while(n)
{
int temp = m % n;
m = n;
n = temp;
}
return m;
}
int main()
{
int m,n;
scanf("%d%d",&m,&n);
int dive = Div(m,n);
int mul = m * n / dive;
printf("%d %d\n",dive,mul);
system("pause");
return 0;
}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
kmose正确使用方法? 单位高温防护欠缺致员工中暑如何对待 狗狗为什么爱看视频 360浏览器怎么设置倍速播放 ...先讲女主的灵魂飘荡了一段时间,然后重生,请问是那本? 拯救者散热器怎么开 电脑如何一键还原系统电脑一键还原怎么操作 神舟笔记本电脑怎么重新设置神舟战神bios恢复出厂设置 神舟电脑恢复出厂设置神舟战神怎么恢复原厂系统 水泥楼梯如何铺木楼梯 为什么要划分磁盘分区 屁股沟总是发痒起皮这是怎么回事(什么病呀) 格力空调与美的空调哪个好? 公积金贷款额度和哪些因素有关? c语言编程求三个数的最大公约数和最小数 屁股两边起了两块疤痒了抓了就起皮是不是股癣啊?还是什么 硬盘为什么要分区?为什么要有主分区、扩展分区、逻辑分区?它们分别用来装什么好? C语言中3个数的最小公倍数怎么求?求简易算法,不要说 最小公倍数=三数的积除以三数的最大公约数 什么牌子的空调相对来说好一些 屁股附近都破了起皮且痒是怎么了 影响公积金贷款额度的因素 为什么一般新硬盘一定要分区呢? c语言编程 最大公因数和最小公倍数 其中 为什么要进行硬盘分区和格式化? 该怎么概括 松下和格力空调哪个好?哪个质量好? 屁股蛋两边起皮像鱼鳞一样的是啥病 公积金贷款额度由什么决定? 利用函数求最大公因数和最小公倍数 c语言编程 求解释 磁盘为什么一定要分区,不分区不能使用? 屁股上起皮是不是体癣呢 公积金贷款额度和哪些因素有关系? 宝宝屁股上干燥起皮怎么回事 为什么要给硬盘划分逻辑分区? 求最大公约数和最小公倍数用c语言 估计是经常坐的原因,热天也是,因此现在我的*后面皮肤上总是起皮皮, 海信中央空调和格力哪个好? 影响公积金贷款额度的因素有哪些 屁股上很痒,没有水泡,有一点起皮 c语言编程求输入两个数的最大公约数和最小公倍数 住房公积金贷款的贷款额度是由什么决定的 我两边屁股下面都红了一块,有时坐久了会疼。还掉皮 是什么原因 大金空调和格力空调哪个好,有什么区别? 屁股坐起皮怎么办? 松下空调好还是格力空调好?为什么呢? 松下空调好还是格力空调好?有什么区别呢? 格力空调和美的空调哪个质量好 中央空调什么牌子好?格力与海信中央空调有了解的吗? 华为nova3i更新以后刚开始还没问题,用起来挺好,现在就非常卡,很慢。这是怎么回事呢 我的手机是华为nova3i然后为什么一直是2G网络我移动4G卡网速特别不好 不升级还好,现在升级到最新版本了,反而卡的闹心,华为Nova3i干脆和废品一样