您好,登錄后才能下訂單哦!
第一種(for循環)
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i, min, k, a, b;
printf("請輸入兩個整數:\n");
scanf("%d%d", &a, &b);
if (a>b)//此處if else語句可以刪除(只是為了少執行幾步程序)
min = b;
else
min = a;
for (i = min; i>0; i--)//如果刪了上面的if else這要改為i=a或b
{
if ((a%i == 0) && (b%i == 0))//判斷兩個同時取余為0
{
k = i;
printf("%d", k); break;
}
}
return 0;
}
第二種方法(輾轉相除法)
#include <stdio.h>
#include <stdlib.h>
int main()
{
int tmp, a, b;
printf("請輸入兩個整數:\n");
scanf("%d%d", &a, &b);
while (a%b != 0)
{
tmp=a%b;//取余
a = b;//交換a,b可避免a比b小
b = tmp;
}
printf("%d\n",b);
return 0;
}
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。