#6724: 出現WA錯誤 小弟找不到錯誤@@


stupidfox (Fox Liu)

學校 : 國立勤益科技大學
編號 : 26145
來源 : [140.128.88.63]
最後登入時間 :
2015-02-14 01:34:57
a010. 因數分解 | From: [140.128.88.48] | 發表日期 : 2012-06-28 02:14

 WA (line:1)
答案不正確
您的答案為: 2^2 * 3^2 * 7 * 173^2 * ...略 正確答案為: 2^2 * 3^2 * 7 * 17
 
 
#include <iostream>
using namespace std;
int DATA[50];
int main()
{
    int data,i,count=0;
    void show(int a);
    while(cin >> data)
    {
        for(i=2;i<=data;i++)
        {
            if(data%i==0)
            {
                DATA[count++]=i;
                data=data/i;
                i=1;
            }
        }
        show(count);
        count=0;
    }
    return 0;
}
void show(int n)
{
     int i,index=1;
     for(i=0;i<n;i++)
     {
         if( DATA[i]==DATA[i+1] )
             index++;
         else
         {
             if(index>1)
             {
                 cout << DATA[i] << "^" << index;
                 index=1;
             }
             else
                 cout << DATA[i];
             if(i!=(n-1))
                 cout << " * ";
         }
     }
}
 
程式碼如上 一直抓不到錯誤點在哪 懇請各位大大協助 
 
#6836: Re:出現WA錯誤 小弟找不到錯誤@@


darry140 (丫達)

學校 : 國立科學工業園區實驗高級中學
編號 : 26437
來源 : [18.189.111.47]
最後登入時間 :
2017-10-10 00:35:57
a010. 因數分解 | From: [114.37.171.245] | 發表日期 : 2012-07-25 12:22

 WA (line:1)
答案不正確
您的答案為: 2^2 * 3^2 * 7 * 173^2 * ...略 正確答案為: 2^2 * 3^2 * 7 * 17
#include
using namespace std;
int DATA[50];
int main()
{
    int data,i,count=0;
    void show(int a);
    while(cin >> data)
    {
        for(i=2;i<=data;i++)
        {
            if(data%i==0)
            {
                DATA[count++]=i;
                data=data/i;
                i=1;
            }
        }
        show(count);
        count=0;
    }
    return 0;
}
void show(int n)
{
     int i,index=1;
     for(i=0;i
     {
         if( DATA[i]==DATA[i+1] )
             index++;
         else
         {
             if(index>1)
             {
                 cout << DATA[i] << "^" << index;
                 index=1;
             }
             else
                 cout << DATA[i];
             if(i!=(n-1))
                 cout << " * ";
         }
     }
 cout>>endl;
}
你忘了換行太可笑嘍
 
#6846: Re:出現WA錯誤 小弟找不到錯誤@@


jdh8 (硬邦邦)

學校 : 臺北醫學大學
編號 : 6332
來源 : [122.116.101.60]
最後登入時間 :
2019-11-14 01:20:34
a010. 因數分解 | From: [118.168.177.133] | 發表日期 : 2012-07-27 00:46

輸出東西是這邊喔! cout << 要輸出的東西;

Q: 奇怪,明明在命令列要把指令的標準輸出導到別的地方去,是寫

指令 > 目的 (覆蓋現存檔案)或 指令 >> 目的 (接在原有檔案的尾巴)

而要把檔案內容導引到指令中是寫

指令 < 檔案 或 指令 << 檔案

為何 iostream 中輸入反而是 cin >> 變數,輸出反而是 cout << 變數 呢?

A:

cin >> 變數: cin 把輸入的東西存到變數裡。
cout << 變數:把變數的值挖出來給 cout 輸出。

 
#6924: Re:出現WA錯誤 小弟找不到錯誤@@


saitor362320 (Kira Yamato)

學校 : 國立臺灣海洋大學
編號 : 9939
來源 : [140.121.215.219]
最後登入時間 :
2014-09-15 21:28:39
a010. 因數分解 | From: [175.181.148.188] | 發表日期 : 2012-08-20 22:04

 WA (line:1)
答案不正確
您的答案為: 2^2 * 3^2 * 7 * 173^2 * ...略 正確答案為: 2^2 * 3^2 * 7 * 17
#include
using namespace std;
int DATA[50];
int main()
{
    int data,i,count=0;
    void show(int a);
    while(cin >> data)
    {
        for(i=2;i<=data;i++)
        {
            if(data%i==0)
            {
                DATA[count++]=i;
                data=data/i;
                i=1;
            }
        }
        show(count);
        count=0;
    }
    return 0;
}
void show(int n)
{
     int i,index=1;
     for(i=0;i
     {
         if( DATA[i]==DATA[i+1] )
             index++;
         else
         {
             if(index>1)
             {
                 cout << DATA[i] << "^" << index;
                 index=1;
             }
             else
                 cout << DATA[i];
             if(i!=(n-1))
                 cout << " * ";
         }
     }
 cout<<endl;
}
你忘了換行太可笑嘍

是說樓主的演算法還真不錯...微笑  
ZeroJudge Forum