第七十四课 编程题
1. 输入两个正整数num1和num2,输出这两个正整数的最大公约数。
int num1 = Convert.ToInt32(Console.ReadLine());
int num2 = Convert.ToInt32(Console.ReadLine());
int a = 0;
int b = 0;
if (num1 > num2)
{
a = num1;
num1 = num2;
num2 = a;
}
for(int i = 1; i <= num1; i++)
{
if (num1 % i == 0 && num2 % i == 0)
{
Console.WriteLine("共有公约数为:");
for(int j = 0; j < i; j++)
{
if (b < i)
{
b = i;
}
}
}
}
Console.Write(b);
我的方法是从最小公约数开始,一直到最大公约数,但只保留最后一个公约数,就是最大公约数,然后输出。
老师的方法,让遍历循环递减遍历,只输出第一个公约数,老师的方法简单。