#1584: 被隱藏的TLE...測資的關係嗎?


timmymike (超小小蝦米)

學校 : 中原大學
編號 : 2130
來源 : [61.219.23.150]
最後登入時間 :
2023-01-30 16:17:23
d122. Oh! My Zero!! -- liouzhou_101 | From: [72.30.79.90] | 發表日期 : 2009-03-19 10:13

/*
有人看的出是哪裡造成TLE嗎?
求教...感激不盡...
*/

# include <iostream>

using namespace std ;

int main() {

  long int num = 0 ; // 要算階乘的數字
  long int total = 0 ; // 總共的0數
  bool first = true ;


  while ( cin >> num ) {
    first = true ;
    total = num / 5 ; // 遇到2*5 = 10 多一個0 遇到10也會多一個0
    // 所以0的數目等於每遇到5就多一個


    for ( int cycle5 = 25 ; cycle5 <= num ; cycle5 *= 5 ) {
    // 根據實際算出結果後觀察所得的規律,需要再加這個for
      if ( ! first ) //  對於第一次的25,沒有要再加1
        total ++ ;
      for( int i = cycle5 ; i <= num ; i += cycle5 )
        total ++ ;

    } // for

    cout << total << endl ;


  } // while

  return 0 ;

} // main()

 

 
ZeroJudge Forum