2つの数の最大公約数(C言語)を求めます

896 ワード

転送減算:
#include 
#include 

int main()
{
	int a, b;
	printf("            :");
	scanf("%d %d",&a,&b);
	if (a < b)
	{
		a = a^b;
		b = a^b;
		a = a^b;
	}
	while ( (a-b) > b)
	{
		a = a - b;
	}
	while ( (a-b) != 0 )
	{
		int temp = a - b;
		a = b;
		b = temp;
		if (a < b)
                {
			a = a^b;
			b = a^b;
			a = a^b;
		}
	}
	printf("      :%d
",b); system("pause"); return 0; }

転がり相殺法:
#include 
#include 

int main()
{
	int a, b;
	printf("            :");
	scanf("%d %d",&a,&b);
	if (a < b)
	{
		a = a^b;
		b = a^b;
		a = a^b;
	}
	while (a%b != 0)
	{
		int temp = a%b;
		a = b;
		b = temp;
	}
	printf("      :%d
",b); system("pause"); return 0; }