#31109: TLE(killed)??? C++


cccccsssss (CS)

學校 : 不指定學校
編號 : 197137
來源 : [111.83.211.58]
最後登入時間 :
2025-06-27 16:19:27

#include <iostream>
using namespace std;

int main() {
  int a, b, g;
  cin>>a>>b;
  for(int i=1;i<=a;i++){
    if ((a%i)==0 && (b%i)==0){
      g=i;
    }
  }
  cout<<g<<endl;
}

 

 

 

以上是我的解法

但一直出現TLE 

請問一下要怎麼修改才不會出現TLE?

謝謝 ^_^

#31117: Re: TLE(killed)??? C++


krameri120 (科科)

學校 : 國立臺南高級工業職業學校
編號 : 102318
來源 : [36.237.203.195]
最後登入時間 :
2025-03-24 14:35:26

#include
using namespace std;

int main() {
  int a, b, g;
  cin>>a>>b;
  for(int i=1;i<=a;i++){
    if ((a%i)==0 && (b%i)==0){
      g=i;
    }
  }
  cout<}

 

 

 

以上是我的解法

但一直出現TLE 

請問一下要怎麼修改才不會出現TLE?

謝謝 ^_^

他限制時間1s,我之前用這個方法C++有過,看來是有修正測資,或是減少時間(忘記XD
你可能要用遞迴的方式,去推算,以下提供副程式

void gcd(int a,int b){
	if(!b){
		printf("%d",a);
	}
	else{
        gcd(b,a%b);
	}
}



#31460: Re: TLE(killed)??? C++


StopCrazy1998 (Mr.StopCrazy)

學校 : 東海大學
編號 : 189765
來源 : [150.117.136.94]
最後登入時間 :
2023-02-04 16:05:52

基本上使用窮舉法如果測資到億或十億,都會非常執行非常久,質因數分解法或短除法都會比較快。



#31463: Re: TLE(killed)??? C++


krameri120 (科科)

學校 : 國立臺南高級工業職業學校
編號 : 102318
來源 : [36.237.203.195]
最後登入時間 :
2025-03-24 14:35:26

基本上使用窮舉法如果測資到億或十億,都會非常執行非常久,質因數分解法或短除法都會比較快。




您好,我是利用輾轉相除法求得最大公因數,
請問用短除法要怎麼知道要除多少?
質因數分解可能要先建質數表,然後找公因數,感覺會慢一些
我自己的測試結果(4ms, 88KB),請問您的方法會比較快ㄇ?

#31473: Re: TLE(killed)??? C++


StopCrazy1998 (Mr.StopCrazy)

學校 : 東海大學
編號 : 189765
來源 : [150.117.136.94]
最後登入時間 :
2023-02-04 16:05:52

基本上使用窮舉法如果測資到億或十億,都會非常執行非常久,質因數分解法或短除法都會比較快。




您好,我是利用輾轉相除法求得最大公因數,
請問用短除法要怎麼知道要除多少?
質因數分解可能要先建質數表,然後找公因數,感覺會慢一些
我自己的測試結果(4ms, 88KB),請問您的方法會比較快ㄇ?


我是用質因數分解法寫幾乎都是1x ms,所以你放心4ms很快,輾轉應該是最快的方法。

#31477: Re: TLE(killed)??? C++


krameri120 (科科)

學校 : 國立臺南高級工業職業學校
編號 : 102318
來源 : [36.237.203.195]
最後登入時間 :
2025-03-24 14:35:26

基本上使用窮舉法如果測資到億或十億,都會非常執行非常久,質因數分解法或短除法都會比較快。




您好,我是利用輾轉相除法求得最大公因數,
請問用短除法要怎麼知道要除多少?
質因數分解可能要先建質數表,然後找公因數,感覺會慢一些
我自己的測試結果(4ms, 88KB),請問您的方法會比較快ㄇ?


我是用質因數分解法寫幾乎都是1x ms,所以你放心4ms很快,輾轉應該是最快的方法。

thanks