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

编程,求最大公约数和最小公倍数

发布网友 发布时间:2022-04-26 12:15

我来回答

8个回答

热心网友 时间:2022-04-26 13:44

#include <stdio.h>

int 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);

}

扩展资料

算法思想

利用格式输入语句将输入的两个数分别赋给 a 和 b,然后判断 a 和 b 的关系,如果 a 小于 b,则利用中间变量 t 将其互换。

再利用辗转相除法求出最大公约数,进而求出最小公倍数。最后用格式输出语句将其输出。

#include<stdio.h>是在程序编译之前要处理的内容,称为编译预处理命令。编译预处理命令还有很多,它们都以“#”开头,并且不用分号结尾,所以是c语言的程序语句。

热心网友 时间:2022-04-26 15:02

#include <stdio.h>
int GCD(int m, int n)
{
int r = m % n;
while (r != 0)
{
m = n;
n = r;
r = m % n;
}
return n;
}
int main()
{
int m, n;
printf("输入两个正整数: ");
scanf("%d %d", &m, &n);
int r = GCD(m, n);
printf("最大公约数: %d\n", r);
printf("最小公倍数: %d\n", m*n/r);
return 0;
}

//会了么?

热心网友 时间:2022-04-26 16:37

#include "stdio.h"
main()
{
int max,min;
int p;
int m,n,i;
scanf("%d %d",&m,&n);
p=m;
if(p>n)
{p=n;}
for(i=p;i>=1;i--)
{
if(m%i==0 && n%i==0)
{
max=i;
break;
}
}
min=m*n/max;
printf("max=%d,min=%d",max,min);
}

热心网友 时间:2022-04-26 18:28

最大公约数用辗转求余计算,a,b输入,最后跳出循环的a就是最大公约数
while(b!=0)
{
temp=b;
b=a%b;
a=temp;
}

最小公倍数:A * B / 最大公约数

热心网友 时间:2022-04-26 20:36

#include <stdio.h>
int zdgys(int a,int b);
int zxgbs(int a,int b);
void main()
{
int a,b,c,d;
printf("输入两个正整数:");
scanf("%d%d",&a,&b);
c=zdgys(a,b);
d=zxgbs(a,b);
printf("最大公约数%d\n最小公倍数%d\n",c,d);
}
int zdgys(int a,int b)
{
int z,i;
if(a>b) z=b;
else z=a;
for(i=z;i>0;i--)
if(a%i==0&&b%i==0)
return (i);
}
int zxgbs(int a,int b)
{
int k,j;
if(a>b) k=a;
else k=b;
for(j=k;j>0;j++)
if(j%a==0&&j%b==0)
return (j);
}

热心网友 时间:2022-04-26 23:01

// 最大公约数
int *(int m, int n)
{
return n == 0 ? m : *(n, m % n) ;
}

// 最小公倍数
int lcm(int m, int n)
{
return m * n / *(m, n) ;
}

热心网友 时间:2022-04-27 01:42

//确保m和n都是正整数
//做除法有点不厚道

int zdgys(int m, int n){
return m * n / zxgbs(m, n);
}
int zxgbs(int m, int n){
while(m && n){
if(m > n)
m=m % n;
else
n=n % m;
}
return m == 0 ? n : m;
}

热心网友 时间:2022-04-27 04:40

//---------------------------------------------------------------------------

#include <stdio.h>

int *(int a,int b)
{
if (!b) return a;
else return *(b,a%b);
}

int main(void)
{
int a,b,Gcd;
scanf("%d%d",&a,&b);
printf("GCD:%d\n",Gcd=*(a,b));
printf("L.C.M:%ld\n",a*b/Gcd);
return 0;
}
//---------------------------------------------------------------------------
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
高中文言百段阅读训练目录 储罐如何评价李时行的书法与人品? 李时行嗜书不厌的通假字 李时行嗜书不厌 李时行是个什么样的人 文言文 李时行嗜书不厌急需翻译!!!~~~ 身高160cm体重60kg肩宽40胸围96腰围82穿多大码衣服? 上海外服交通银行项目怎么样,待遇是多少,工作时间是什么?公司好不好... “屋外下雨屋内漏”愁坏业主,中梁首府开发商:逐步解决 椒江中梁有哪些楼盘 中梁控股集团有哪些楼盘 高三外研英语周报第11期第一版答案大全 忘记了手机apple id密码怎么办 教你酸菜小炒田螺肉,比快餐店炒的还好吃,收藏了 如果身份证丢失并挂失后被人冒用在网络贷款要承担债务吗? 身份证丢失被盗用贷款,贷的款要失主还,应该么 自己的身份证丢了,却被别人办了贷款,自己真的要来承担责任吗? 身份证掉了被别人捡到贷款怎么办 身份证丢失后,被别人拿着去贷款了,那需要丢失人还钱吗?身份证丢失了,别人捡到,用我的身份证网络贷款_百度问一问 公司标签一般需要写点什么? 编程实现功能:求2个数的最大公约数和最小公倍数。要求用一个函数求最大公约数,另外一个函数求最小公倍数 三星手机怎么实现同时登2个? 三星手机能不能同时登两个? 三星手机怎么实现同时登2个? 编写求解两数最小公倍数和最大公约数的程序 老板电器油烟机8010打火灶是什么材料 老板CXW-200-8009欧式油烟机怎么样 老板CXW-200-8009N 吸油烟机怎么样 相机带子有汗味怎么洗 这种白色带子的手表怎么清洗啊 最新QQ版本怎么查看谈论组解散的聊天记录? 在苹果手机里下了个QQ音乐播放器怎么删歌曲啊 蒸糯米肉丸子的热量是多少? 请问糯米小圆子的热量是多少? 一碗糯米圆子炒米线的热量 中国农业银行住房贷款如何提前结清 QQ说说自动给好友点赞神器,立马变空间达人 自动点赞功能每次时间是固定的吗 自动点赞,怎么回事?每次发表说说,不到10秒总有人自动点赞。 13pro老是会自动点赞 我和市长妈妈这本小说叫什么 假如我当了官 作文 有方法可以通过直接加好友吗? 产品保险提供什么资料 买了不久的联想笔记本电脑有噪音,像是什么在划一样,是什么原因?求高手 刚买的联想笔记本电脑噪音大是什么原因 求几张图片。做QQ背景图 电脑上忘记退出怎么办 请大家帮我寻找几张可以做QQ空间背景的大图 有什么好看的图可以做QQ背景的~ 谁可以做qq背景图片