XYNUOJ 1106 1107 求最大公约数 求最小公倍数

1106: 习题7-1.1 求最大公约数

时间限制: 1 Sec   内存限制: 12 MB
提交: 63   解决: 60
[ 提交][ 状态][ 讨论版]

题目描述

写一个函数,求两个整数的最大公约数。通过主函数调用这个函数,并输出结果。

两个整数通过键盘输入。

输入

空格分隔的2个整数

输出

输入两数的最大公约数,单独占一行。

样例输入

8 12

样例输出

4

提示

C语言第四版教学实验-第七章 函数

#include<stdio.h>
int main()
{
	int a,b;
	scanf("%d %d",&a,&b);
	if(a<b)//找出两个数中较小的数 
	{
		for(int i=a;i>=2;i--)//从大到小找节省时间 
			if(a%i==0&&b%i==0)
		return 	printf("%d\n",i);  //直接return输出最大值,剩下的不会输出 
	}
}
另一种调用函数,没有直接求好理解

#include<stdio.h>//调用函数 
 int main()
 { 
 int hcf(int,int);//声明一下 
 int u,v,h;
 scanf("%d %d",&u,&v);
 h=hcf(u,v);//h为这个函数的返回值 
 printf("%d",h);
 return 0;
 }
 int hcf(int u,int v)
 {
 	int t,r;
 	if(v>u)
 	{
 		t=u;u=v;v=t;//将小数给 v 
	 }
	 while((r=u%v)!=0)
	 {
	 	u=v;//一直取余直到r==0 
	 	v=r;
	 }
	 return(v);
 }

1107: 习题7-1.2 求最小公倍数

时间限制: 1 Sec   内存限制: 12 MB
提交: 71   解决: 58
[ 提交][ 状态][ 讨论版]

题目描述

写一个函数求两个整数的最小公倍数,通过主函数调用这个函数,并输出结果。

两个整数由键盘输入。

输入

以空格分隔的两个整数

输出

输入两数的最小公倍数,单独占一行。

样例输入

8 12

样例输出

24

提示

C语言第四版教学实验-第七章 函数

#include<stdio.h>
int main()
{
	int a,b,i;
	scanf("%d %d",&a,&b);
	if(a<b)
	{
		for(i=a;i>=2;i--)
			if(a%i==0&&b%i==0)
		return printf("%d\n",a*b/i);
		 //直接return输出小公倍数,剩下的不会输出 很好用 
	}
}



#include<stdio.h>
 int main()
 { 
 int hcf(int,int);
 int lcd(int,int,int);
 int u,v,h,l;
 scanf("%d %d",&u,&v);
 h=hcf(u,v);
 l=lcd(u,v,h);
 printf("%d",l);
 return 0;
 }
 int hcf(int u,int v)
 {
 	int t,r;
 	if(v>u)
 	{
 		t=u;u=v;v=t;
	 }
	 while((r=u%v)!=0)
	 {
	 	u=v;
	 	v=r;
	 }
	 return(v);
 }
 int lcd(int u,int v,int h)//在上一个函数基础上加了一个语句 
 {
 	return(u*v/h);
 }


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值