1. 程式人生 > >兩個數的最大公約數和最小公倍數

兩個數的最大公約數和最小公倍數

一、思路:

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); }