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


derong (rong)


#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 (臨末之頌)


#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記憶體區段錯誤

陣列太大