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

求三個數的最大公約數和最小公倍數.c

#include<stdio.h>int main(){int x,y,z,max,min,sum=0;    printf("please input 3 numbers :\n") ;scanf("%d%d%d",&x,&y,&z);if(x > y){if( x> z)max = x;elsemax = z;}else{if( y> z)max = y;elsemax = z;}for(max;max<=0x7fffffff;max++) //0x7fffffff 是 int 型最大的16進位制數if(max%x==0&&max%y==0&&max%z==0){printf("最小公倍數是:%d\n",max);break;}if(max == 0x80000000)  ///0x80000000 是 int 型最小的16進位制數printf("沒找到最小公倍數\n");if(x < y){if(x<z)min = x;elsemin =z;}else{if(y<z)min = y;elsemin =z;}//十六進位制字面值的型別是無符號整數for(1;min>=(int)0x80000000;min--){if(x%min==0&&y%min==0&&z%min==0){printf("最大公約數是: %d\n",min);break;}}return 0;}