#17542: 請問我哪裡寫錯了


brianpon123@gmail.com (Brian Pon)


#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);
 }
}

#17543: Re:請問我哪裡寫錯了


ufve0704 (爬 我爬 我爬爬爬 有排行榜這種東西就是要爬 爬過我上面的那...)


#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函數歐! 

#17562: Re:請問我哪裡寫錯了


freedom501999@gmail.com (帥氣魔方生)


 


c++有GCD函數歐! 

 

人家又不一定學的是 C++,而是先學 C 阿........ ( 汗顏......

回覆提問者,你的程式在下面這段會出問題

while(a>0&&b>0)
{
      if(a>b)
     { 
          a-=b*(a/b);
      }
     else
     {
          b-=a*(b/a);
     }
}

整數相除,當無法整除時,餘下的餘數會被無條件捨去

因此這段程式運行過程會發生運算上的問題

可以去查查 GCD 在數學上的運算過程

而用到程式裡,就需要餘數運算子 % ,以及迴圈來解決

提示就這樣,老實說討論區有一堆,可以參考

 

#17568: Re:請問我哪裡寫錯了


ufve0704 (爬 我爬 我爬爬爬 有排行榜這種東西就是要爬 爬過我上面的那...)


 


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