用展轉相除法求最大公約數ide
#include <stdio.h> //求兩個數的最大公約數 int main() { int num1=0,num2=0; int max=0; printf("請輸入兩個不爲零的數字:\n"); scanf("%d%d",&num1,&num2); if(num2>num1) { num2=num1^num2; num1=num1^num2; num2=num1^num2; } if(num1>num2) { if(num1%num2==0) printf("最大公約數爲:%d",num2); else { while(num1%num2!=0) { max=num1%num2; num1=num2; num2=max; } printf("最大公約數爲:%d",max); } } if(num1==num2) { printf("兩數相等最大公約數爲它自己%d",num1); } return 0; }
最小公倍數的求法直接用(num1*num2)/max便可。it