#2824: (C++) TLE了,請問哪裡還能刪減?


ck6tp6m4 (ck6tp6m4)

學校 : 國立臺灣科技大學
編號 : 9004
來源 : [136.226.54.174]
最後登入時間 :
2024-09-20 23:56:31
d122. Oh! My Zero!! -- liouzhou_101 | From: [125.233.69.67] | 發表日期 : 2009-11-23 13:20

#include <iostream>
using namespace std;
int main()
{
    long long int n,x;
    while(cin>>n)
    {
        x=0;                        //計數歸零
        for(int j=1;j<=n;j++)       //計算5的倍數有多少個
        {
            if(j%10==0||j%10==5)    //尾數不為0或5剔除
            {
                int i=j;
                for(;;)
                {
                    if(i%5==0)               //考慮5的次方情形
                    {
                        x++;
                        i/=5;
                        continue;
                    }
                    else
                    {
                        break;
                    }
                }
            }
            else
            continue;
            
        }
        cout<<x<<endl;
    }

    return 0;
}

麻煩大家看看吧

 
#2825: Re:(C++) TLE了,請問哪裡還能刪減?


awpkiller (討厭不跟範例輸入的測資(吼))

學校 : 不指定學校
編號 : 7937
來源 : [202.40.139.107, 175.159.107.90]
最後登入時間 :
2013-02-27 19:40:50
d122. Oh! My Zero!! -- liouzhou_101 | From: [61.18.109.87] | 發表日期 : 2009-11-23 21:15

恕刪

會TLE的原因就是你用上了FOR LOOP 

 

 

下面為解答方法~可以不看

 

 

 

 

 

 

 

 

不用FOR-LOOP來跑~只要將N 不停除5的結果作加總~就是答案

你可以試試看 

 
#2889: Re:(C++) TLE了,請問哪裡還能刪減?


ck6tp6m4 (ck6tp6m4)

學校 : 國立臺灣科技大學
編號 : 9004
來源 : [136.226.54.174]
最後登入時間 :
2024-09-20 23:56:31
d122. Oh! My Zero!! -- liouzhou_101 | From: [163.23.148.201] | 發表日期 : 2009-12-01 14:37

恕刪

會TLE的原因就是你用上了FOR LOOP 

 

 

下面為解答方法~可以不看

 

 

 

 

 

 

 

 

不用FOR-LOOP來跑~只要將N 不停除5的結果作加總~就是答案

你可以試試看 

 

 

 我本來也是覺得應該會是迴圈問題
但不是有設定break條件嗎?
為什麼傳上來會這樣
而且用dev-c++也不會有無窮迴圈的問題

 
#2890: Re:(C++) TLE了,請問哪裡還能刪減?


awpkiller (討厭不跟範例輸入的測資(吼))

學校 : 不指定學校
編號 : 7937
來源 : [202.40.139.107, 175.159.107.90]
最後登入時間 :
2013-02-27 19:40:50
d122. Oh! My Zero!! -- liouzhou_101 | From: [61.18.109.87] | 發表日期 : 2009-12-01 23:47

 

我本來也是覺得應該會是迴圈問題

但不是有設定break條件嗎?

為什麼傳上來會這樣

而且用dev-c++也不會有無窮迴圈的問題

 

這不關無窮迴圈的問題,只是如果我打1000000進去,你的for-loop就會由1跑到1000000,時間當然會爆掉阿!

 
ZeroJudge Forum