[問題] 數列奇怪的行為
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
gcc 4 在 cygwin 上
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
無
問題(Question):
簡易的求質數問題, SIZE 設定在 1000
數列的最後一個值 number[ SIZE ],不知為何會遞增
餵入的資料(Input):
無
預期的正確結果(Expected Output):
預期應該是 0 或 1
錯誤結果(Wrong Output):
為增加為 1 2 3 ... 9 週而復始
程式碼(Code):(請善用置底文網頁, 記得排版)
#include<stdio.h>
#define SIZE 1000
void eratosthenes( int number[], int size );
int main( void )
{
int number[ SIZE ];
int i;
int counter = 1;
printf( "%d\n", number[ SIZE ] );
eratosthenes( number, SIZE );
printf( "%d\n", number[ SIZE ] );
for ( i = 2; i <= SIZE; i++ ) {
if ( number[ i ] == 1 ) {
printf( "%4d%2d", i, number[SIZE] );
counter++;
}
if ( counter % 10 == 0 ) {
printf( "\n" );
counter = 1;
}
}
return 0;
}
void eratosthenes( int number[], int size )
{
int i;
int j;
for( i = 0; i <= SIZE; i++ )
number[ i ] = 1;
for ( i = 2; i <= size; i++ ) {
if ( number[ i ] == 0 ) {
continue;
}
for ( j = 2; i * j <= size; j++ ) {
number[ i * j ] = 0;
}
}
}
補充說明(Supplement):
無
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.58.141.8
推
07/19 22:12, , 1F
07/19 22:12, 1F
→
07/19 22:13, , 2F
07/19 22:13, 2F
→
07/19 22:13, , 3F
07/19 22:13, 3F
→
07/19 22:14, , 4F
07/19 22:14, 4F
看來是我笨了 XD,感謝大大的回答
※ 編輯: Neisseria 來自: 61.58.141.8 (07/19 22:15)
※ 編輯: Neisseria (112.104.128.230), 12/24/2018 06:33:37
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章