#17542: 請問我哪裡寫錯了


brianpon123@gmail.com (Brian Pon)

學校 : 不指定學校
編號 : 92206
來源 : [1.163.124.147]
最後登入時間 :
2019-05-04 18:23:21
a024. 最大公因數(GCD) | From: [36.226.90.171] | 發表日期 : 2019-04-20 16:05

#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 (爬 我爬 我爬爬爬 有排行榜這種東西就是要爬 爬過我上面的那...)

學校 : 臺北市私立延平高級中學
編號 : 83268
來源 : [203.72.178.1]
最後登入時間 :
2023-10-30 13:02:50
a024. 最大公因數(GCD) | From: [114.42.218.170] | 發表日期 : 2019-04-20 16:35

#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 (帥氣魔方生)

學校 : 不指定學校
編號 : 88611
來源 : [39.8.203.54]
最後登入時間 :
2019-05-30 22:56:25
a024. 最大公因數(GCD) | From: [39.8.34.96] | 發表日期 : 2019-04-21 23:54

 


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 (爬 我爬 我爬爬爬 有排行榜這種東西就是要爬 爬過我上面的那...)

學校 : 臺北市私立延平高級中學
編號 : 83268
來源 : [203.72.178.1]
最後登入時間 :
2023-10-30 13:02:50
a024. 最大公因數(GCD) | From: [114.42.219.143] | 發表日期 : 2019-04-22 20:18

 


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

 
ZeroJudge Forum