#7827: 一直WA


a0323456897 (小豬)

學校 : 國立嘉義大學
編號 : 33153
來源 : [111.254.160.173]
最後登入時間 :
2016-08-16 02:19:54
a010. 因數分解 | From: [111.255.136.78] | 發表日期 : 2013-06-06 15:09

#include<iostream>
using namespace std;
int main()
{
    int num, c;
    int n = 2;
    while ( cin >> num)
    {
      while ( n <= num )
     {
        c = 0;
        while ( num % n == 0 )
        {
            num = num / n;
            ++c;
        }
        if ( c > 0 )
        {
            cout << n;
            if ( c > 1 )
                cout << "^" << c;
            if ( num > 1 )
                cout << " * ";
        }
        ( n >= 3  ) ? ( n += 2 ) : ++n ;
      }
     cout << endl;
    }
    return 0;
}
 
 
只有第一個輸出是對的,其他都輸出錯誤,但不知道為什麼

請大大幫解答謝謝 

 
#7828: Re:一直WA


akira0331 (小迷糊)

學校 : 不指定學校
編號 : 26613
來源 : [203.70.194.240]
最後登入時間 :
2013-07-29 09:30:29
a010. 因數分解 | From: [203.70.194.240] | 發表日期 : 2013-06-06 19:11

#include
using namespace std;
int main()
{
    int num, c;
    int n = 2;
    while ( cin >> num)
    {
      while ( n <= num )
     {
        c = 0;
        while ( num % n == 0 )
        {
            num = num / n;
            ++c;
        }
        if ( c > 0 )
        {
            cout << n;
            if ( c > 1 )
                cout << "^" << c;
            if ( num > 1 )
                cout << " * ";
        }
        ( n >= 3  ) ? ( n += 2 ) : ++n ;
      }
     cout << endl;
    }
    return 0;
}
 
 
只有第一個輸出是對的,其他都輸出錯誤,但不知道為什麼

請大大幫解答謝謝 


你的程式測試結果第一次送20會輸出答案,但第次再給20豃什麼都沒有

從程式看來 n++之後,n 值就回不去原本預設的2

 
ZeroJudge Forum