#include<stdio.h>
main()
{
int a,b;
scanf("%d",&a);
scanf("%d",&b);
while(a>0&&b>0)
{
if(a>b)
{
a-=b*(a/b);
}
else
{
b-=a*(b/a);
}
}
if(a>0)
{
printf("%d",a);
}
else
{
printf("%d",b);
}
}
#include
main()
{
int a,b;
scanf("%d",&a);
scanf("%d",&b);
while(a>0&&b>0)
{
if(a>b)
{
a-=b*(a/b);
}
else
{
b-=a*(b/a);
}
}
if(a>0)
{
printf("%d",a);
}
else
{
printf("%d",b);
}
}
c++有GCD函數歐!
c++有GCD函數歐!
人家又不一定學的是 C++,而是先學 C 阿........ ( 汗顏......
回覆提問者,你的程式在下面這段會出問題
while(a>0&&b>0)
{
if(a>b)
{
a-=b*(a/b);
}
else
{
b-=a*(b/a);
}
}
整數相除,當無法整除時,餘下的餘數會被無條件捨去
因此這段程式運行過程會發生運算上的問題
可以去查查 GCD 在數學上的運算過程
而用到程式裡,就需要餘數運算子 % ,以及迴圈來解決
提示就這樣,老實說討論區有一堆,可以參考
c++有GCD函數歐!
人家又不一定學的是 C++,而是先學 C 阿........ ( 汗顏......
回覆提問者,你的程式在下面這段會出問題
while(a>0&&b>0)
{
if(a>b)
{
a-=b*(a/b);
}
else
{
b-=a*(b/a);
}
}
整數相除,當無法整除時,餘下的餘數會被無條件捨去
因此這段程式運行過程會發生運算上的問題
可以去查查 GCD 在數學上的運算過程
而用到程式裡,就需要餘數運算子 % ,以及迴圈來解決
提示就這樣,老實說討論區有一堆,可以參考
SORRY 沒意識到是C,
我以為是C++XD