求教一个C语言编程问题,详细资料在里面
二、编写程序,在主程序中通过键盘输入两个整数,分别设计两个函数MinCommonMultiple()和MaxCommonFaxtor(),求两个数的最小公倍数和最大公约数...
二、 编写程序,在主程序中通过键盘输入两个整数,分别设计两个函数MinCommonMultiple()和MaxCommonFaxtor(),求两个数的最小公倍数和最大公约数。在主程序中分别显示最小公倍数和最大公约数。
最小公倍数算法:对于a和b两个正整数,a和b的公倍数可以从a的倍数中寻找b的倍数,因为b*a一定是a和b的公倍数,所以a和b的最小公倍数的范围不会超过b*a。因此在a, 2*a ,3*a,……,b*a中,寻找第一个能被b整除的数就是a和b的最小公倍数。
最大公约数算法:
算法1:假设m和n两个整数m>n,用从n到1的每一个数去除m和n,第
一个能同时整除m和n的数即为最大公约数
算法2:m%n的余数给了p,如果p==0,则n为最大公约数,否则m=n,n=p,
重新计算m%n,如此反复,知道p==0,则n就是最大公约数。 展开
最小公倍数算法:对于a和b两个正整数,a和b的公倍数可以从a的倍数中寻找b的倍数,因为b*a一定是a和b的公倍数,所以a和b的最小公倍数的范围不会超过b*a。因此在a, 2*a ,3*a,……,b*a中,寻找第一个能被b整除的数就是a和b的最小公倍数。
最大公约数算法:
算法1:假设m和n两个整数m>n,用从n到1的每一个数去除m和n,第
一个能同时整除m和n的数即为最大公约数
算法2:m%n的余数给了p,如果p==0,则n为最大公约数,否则m=n,n=p,
重新计算m%n,如此反复,知道p==0,则n就是最大公约数。 展开
展开全部
#include <stdio.h>
void main()
{
int m,n,i,j,t,max,min;
printf("请输入任意两个正整数:");
scanf("%d %d",&m,&n);
if (m>n)
{
t=m;
m=n;
n=t;
}
for(i=1;i<=n;i++)
{
if((m%i==0)&&(n%i==0))
max=i;
}
for(j=n;j<=n*m;j++)
{
if((j%m==0)&&(j%n==0))
{
min=j;
break;
}
}
printf("最大公约数是%d\n最小公倍数是%d",max,min);
}
自己再把它弄成函数调用就性咯。。。不行在找我
void main()
{
int m,n,i,j,t,max,min;
printf("请输入任意两个正整数:");
scanf("%d %d",&m,&n);
if (m>n)
{
t=m;
m=n;
n=t;
}
for(i=1;i<=n;i++)
{
if((m%i==0)&&(n%i==0))
max=i;
}
for(j=n;j<=n*m;j++)
{
if((j%m==0)&&(j%n==0))
{
min=j;
break;
}
}
printf("最大公约数是%d\n最小公倍数是%d",max,min);
}
自己再把它弄成函数调用就性咯。。。不行在找我
展开全部
算法还是正确的,自己敲代码啊,你要是报错就把代码发上来,我们帮你修改修改就行了,虽然代码不是很长,但打起来还是很麻烦的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
算法都写的这么清楚了,直接编不就行了?
追问
老出错。
你就打个代码我看看啊。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把你的代码发上来
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询