XYNUOJ 1106 1107 求最大公约数 求最小公倍数
2017-08-24 16:18
309 查看
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); }
相关文章推荐
- 2015年oj:最大公约数,最小公倍数
- 第十一周-OJ-E求两整数的最大公约数与最小公倍数
- xynuoj 三个数求最大值
- XYNUOJ 2042: 寻找最大数
- A Simple Math Problem(最小公倍数最大公约数变形应用)
- 最大公约数,最小公倍数
- 最大公约数和最小公倍数问题
- 最大公约数和最小公倍数
- 常见算法:C语言求最小公倍数和最大公约数三种算法
- 【最大公约数、最小公倍数】输入两个数字,分别求最大公约数和最小公倍数
- 最大公约数与最小公倍数(java)
- 一步一步写算法(之 最大公约数、最小公倍数)
- C++实验7-最大公约和和最小公倍数
- 输入m和n两个正整数,求其最大公约数和最小公倍数
- 最大公约数和最小公倍数
- C实现最大公约数和最小公倍数
- 最大公约数(Greatest Common Divisor ) 与 最小公倍数(Lowest Common Multiple )
- 最大公约数和最小公倍数问题
- 最大公约数和最小公倍数
- 最大公约数、最小公倍数(辗转相除)