求两个整数的最大公约数和最小公倍数(通过调用自定义函数实现)

来源:互联网 发布:cmmb电视模块软件 编辑:程序博客网 时间:2024/05/22 02:16
>#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>int yue(int x, int y);//int yue_2(int x, int y);//int yue_3(int x, int y);int main(){int bei(int x, int y);int a, b;int ys, bs;printf("请输入两个整数:\n");scanf("%d %d", &a, &b);ys = yue(a, b);bs = bei(a, b);printf("最大公约数为%d,最小公倍数为%d\n", ys, bs);return 0;} /*****************简便一点int yue_2(int x, int y){int t, r;if (y > x){t = x;x = y;y = t;}while (r = (x % y) )//这部分我通过中间变量m改变x,y的值,其实并不需要,因为原x值后面并不需要用到,直接覆盖掉也是可以的{x = y;y = r;}return y;}***************//***********用递归实现int yue_3(int x, int y){int t;if (y > x){t = x;x = y;y = t;}if (!(x % y))return y;return yue_3(y, x % y);}************************/int yue(int x, int y){int t,r,m;if (y > x){t = x;x = y;y = t;}r = x%y;while (r!=0){m = y;y = r;x = m;r = x%y;}return y;}int bei(int x, int y){return (x*y / yue(x,y) );}

1 0
原创粉丝点击