两个数的最大公约数和最小公倍数

来源:互联网 发布:安逸花提现软件 编辑:程序博客网 时间:2024/06/03 21:11

一、思路:

1、最大公约数和最小公倍数的范围:

最大公约数:1——两个数中的最小值

最小公倍数:两数中的最大值——两数之积

2、最小公倍数:

在范围内,由大到小,依次分别除以两个数,第一个同时整除的数字即为最小公倍数

3、最大公约数:

在范围内,由小到大,分别用两个数去除以范围内由小到大的值,第一个可以同时整除的数值即为最大公约数

二、代码实现

#include <stdio.h>//最小公倍数int z_x(int x,int y){ int z,max,i; max=x>y?x:y; for(i=x*y;i>=max;i--)    if(i%x==0&&i%y==0)    z=i; return(z);}//最大公约数int z_d(int x,int y){ int z,min,i; min=x<y?x:y; for(i=1;i<=min;i++)    if(x%i==0&&y%i==0)    z=i; return(z);}//主函数void main(){ int a,b,zx,zd; clrscr(); printf("PL. input 2 integers:"); scanf("%d%d",&a,&b); zx=z_x(a,b); zd=z_d(a,b); printf("zuida gongyueshu=%d\n",zd); printf("zuixiao gongbeishu=%d",zx);}
0 0
原创粉丝点击