プログラミング成長日記――最大公約数を求める

702 ワード

転がり相除算法で最大公約数を求める
#include <stdio.h>
//          
int main()
{
	int num1=0,num2=0;
	int max=0;
	printf("           :
"); 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; }

最小公倍数の求め方は直接(num 1*num 2)/maxでよい.
本文は“10954937”のブログから出て、転載して作者と連絡してください!