#12129: 跑得出來可是顯示*** stack smashing detected ***:


jefflo861104 (unknown)

學校 : 不指定學校
編號 : 62099
來源 : [116.241.161.199]
最後登入時間 :
2024-04-02 19:52:32
d044. 00640 - Self Numbers -- UVa640 | From: [140.117.181.122] | 發表日期 : 2017-06-04 12:00

#include <iostream>
using namespace std;
int main()
{
int b[1000000]={0};
int k,sum;
for( int i=1;i<=1000000;i++)
{
sum=i;
k=i;
while(!(k%10==0&&k/10==0))
{
sum=sum+k%10;
k/=10;
}

b[sum-1]+=1;
}
for(int i=0;i<=999999;i++)
{
if(b[i]==0)
cout<<i+1<<endl;
}


return 0;
}

 
#12137: Re:跑得出來可是顯示*** stack smashing detected ***:


who_am_I (kruztw)

學校 : 國立臺灣師範大學
編號 : 54056
來源 : [36.224.144.147]
最後登入時間 :
2023-04-22 22:46:31
d044. 00640 - Self Numbers -- UVa640 | From: [140.122.36.52] | 發表日期 : 2017-06-04 22:11

#include
using namespace std;
int main()
{
int b[1000000]={0};
int k,sum;
for( int i=1;i<=1000000;i++)
{
sum=i;
k=i;
while(!(k%10==0&&k/10==0))
{
sum=sum+k%10;
k/=10;
}

b[sum-1]+=1;
}
for(int i=0;i<=999999;i++)
{
if(b[i]==0)
cout<<i+1<<endl;
}


return 0;
}



int b[1000000]={0};

容量太大了

不適合裝在函數裡

建議寫到外面變廣域變數

 

#include 

using namespace std

 

int b[1000000] = {0}; //宣告在這就沒事了

 

int main()

{

return 0;

}

 

如果有幫到忙

還麻煩幫我衝衝人氣

http://ntnuee40475032h.pixnet.net/blog

謝謝囉^^

 
ZeroJudge Forum