#9984: 一直出現RE??


jimmyy512 (Majitoo)

學校 : 新北市立淡水高級商工職業學校
編號 : 46229
來源 : [114.36.98.109]
最後登入時間 :
2017-07-07 13:10:37
a007. 判斷質數 | From: [114.42.213.72] | 發表日期 : 2015-07-04 15:14

#include <stdio.h>
#include <stdlib.h> 
#include <stdbool.h>
#include <math.h>
bool prime[999999];// 全域變數的陣列,每一格將自動初始化為false。
int All_prime()
{
int i, j, k;
int sqrt_prime = sqrt(999999);
prime[0] = prime[1] = true;
for (i = 2; i <= sqrt_prime; i++)
{
if (!prime[i])
{
for (k = (200000 - 1) / i, j = i*k; k >= i; k--, j-= i)     //k是倍率 j是倍數  0.01秒算完 
{
if (!prime[k])
{
prime[j] = true;
}
}
}
}
return 0;
}
int main()
{
int num,i;
All_prime();
while (scanf("%d", &num) != EOF)
{
if (prime[num]==true)
printf("非質數\n",num);
else
printf("質數\n",num);
}
}
 
第 1 測資點(100%): RE (SIGSEGV) 
執行時期錯誤
記憶體區段錯誤!  
Segmentation fault
這是甚麼意思阿... 
 
ZeroJudge Forum