#27828: RE記憶體區段錯誤(求解)


derong (rong)

學校 : 不指定學校
編號 : 122681
來源 : [125.224.212.240]
最後登入時間 :
2022-10-16 21:49:01
a010. 因數分解 | From: [1.168.14.225] | 發表日期 : 2021-10-31 23:46

#include <iostream>

using namespace std;

int a,b[100000000]={0},c=0,d;

int main(){

    cin>>a;

    d=a;

    while(a!=1){

        int i=2;

        while(i<=a){

            if(a%i==0){

                a/=i;

                b[i-1]+=1;

                break;}

            i++;}}

    for(int j=0; j<d; j++){

        if(b[j]>0){

            if(c!=0)

                cout<<" * ";

            if(b[j]==1)

                cout<<j+1;

            else

                cout<<j+1<<'^'<<b[j];

            c++;}}

    return 0;}

在Code Blocks 測試可以,但側資RE記憶體區段錯誤

 
#27829: Re:RE記憶體區段錯誤(求解)


linlincaleb@gmail.com (臨末之頌)

學校 : 新北市立板橋高級中學
編號 : 132772
來源 : [111.248.111.135]
最後登入時間 :
2023-04-01 22:41:13
a010. 因數分解 | From: [1.162.202.31] | 發表日期 : 2021-10-31 23:55

#include

using namespace std;

int a,b[100000000]={0},c=0,d;

int main(){

    cin>>a;

    d=a;

    while(a!=1){

        int i=2;

        while(i<=a){

            if(a%i==0){

                a/=i;

                b[i-1]+=1;

                break;}

            i++;}}

    for(int j=0; j<d; j++){

        if(b[j]>0){

            if(c!=0)

                cout<<" * ";

            if(b[j]==1)

                cout<<j+1;

            else

                cout<<j+1<<'^'<<b[j];

            c++;}}

    return 0;}

在Code Blocks 測試可以,但側資RE記憶體區段錯誤

陣列太大

 
ZeroJudge Forum