#33649: 測試執行都是AC 但送出解答後顯示測資點#2錯誤


tpoyrex2019@gmail.com (林芷帆)

學校 : 不指定學校
編號 : 212345
來源 : [111.249.98.252]
最後登入時間 :
2023-01-20 00:23:43
a010. 因數分解 | From: [111.249.98.252] | 發表日期 : 2023-01-18 11:00

如題,想詢問一下有人能幫我看一下我的城市哪裡有漏洞嗎?謝謝!

*/ i是輸入數字
    p是測試的因數

    f是確認是否為第一個因數(決定要不要加乘號)

    pow是次方數

*/

 

#include<iostream>

using namespace std;

int main(){
    
    int i,p,f,pow;
    cin>>i;
    p=2;
    pow=0;
    f=0;
    
    while(i>1&&i<=10000000){
            
        if(i%p==0){
            f++;
            if(f==1)cout<<p;
            if(f>1)cout<<" * "<<p;     
        }
        
        while(i%p==0){
            i=i/p;
            pow++;
        }
        
        if(pow>1){
            cout<<"^"<<pow;
        }    
        
        pow=0;
        p=p+1;
        
        }

    return 0;    
    }
    
   

 
#33654: Re: 測試執行都是AC 但送出解答後顯示測資點#2錯誤


yp11051026@yphs.tp.edu.tw (911-24吳秉儒)

學校 : 臺北市私立延平高級中學
編號 : 163548
來源 : [1.162.69.186]
最後登入時間 :
2024-06-16 17:28:50
a010. 因數分解 | From: [114.45.78.81] | 發表日期 : 2023-01-18 19:17

如題,想詢問一下有人能幫我看一下我的城市哪裡有漏洞嗎?謝謝!

*/ i是輸入數字
    p是測試的因數

    f是確認是否為第一個因數(決定要不要加乘號)

    pow是次方數

*/

 

#include

using namespace std;

int main(){
    
    int i,p,f,pow;
    cin>>i;
    p=2;
    pow=0;
    f=0;
    
    while(i>1&&i<=10000000){
            
        if(i%p==0){
            f++;
            if(f==1)cout<            if(f>1)cout<<" * "<        }
        
        while(i%p==0){
            i=i/p;
            pow++;
        }
        
        if(pow>1){
            cout<<"^"<        }    
        
        pow=0;
        p=p+1;
        
        }

    return 0;    
    }
    
   


題目的整數<=10^8,但你的while迴圈判斷式卻是i<=10^7。

而且不加那條判斷式也不要緊

 
#33666: Re: 測試執行都是AC 但送出解答後顯示測資點#2錯誤


tpoyrex2019@gmail.com (林芷帆)

學校 : 不指定學校
編號 : 212345
來源 : [111.249.98.252]
最後登入時間 :
2023-01-20 00:23:43
a010. 因數分解 | From: [111.249.98.252] | 發表日期 : 2023-01-19 23:26

如題,想詢問一下有人能幫我看一下我的城市哪裡有漏洞嗎?謝謝!

*/ i是輸入數字
    p是測試的因數

    f是確認是否為第一個因數(決定要不要加乘號)

    pow是次方數

*/

 

#include

using namespace std;

int main(){
    
    int i,p,f,pow;
    cin>>i;
    p=2;
    pow=0;
    f=0;
    
    while(i>1&&i<=10000000){
            
        if(i%p==0){
            f++;
            if(f==1)cout<            if(f>1)cout<<" * "<        }
        
        while(i%p==0){
            i=i/p;
            pow++;
        }
        
        if(pow>1){
            cout<<"^"<        }    
        
        pow=0;
        p=p+1;
        
        }

    return 0;    
    }
    
   


題目的整數<=10^8,但你的while迴圈判斷式卻是i<=10^7。

而且不加那條判斷式也不要緊

 

原來是那邊出錯了~

謝謝你的幫忙!

 
ZeroJudge Forum