在线观看免费视频国产,汤唯射箭电影未删减版在线观看免费中文版,日韩在线视频网,激情亚洲天堂,久热综合在线,德凯奥特曼剧场版完整版在线观看 ,欧美不卡

軟題庫 學習課程
當前位置:信管網 >> 在線考試中心 >> 試題查看
試題題型【分析簡答題】
試題內容

閱讀以下說明和C程序,填充程序中的空缺,將解答填入答題紙的對應欄內。
【說明】
埃拉托斯特尼篩法求不超過自然數N的所有素數的做法是:先把N個自然數按次序排列起來,1不是素數,也不是合數,要劃去; 2是素數,取出2(輸出),然后將2的倍數都劃去:剩下的數中最小者為3,3 是素數,取出3(輸出),再把3的倍數都劃去;剩下的數中最小者為5,5是素數,再把5的倍數都劃去。這樣一直做下去,就會把不超過N的全部合數都篩掉,每次從序列中取出的最小數所構成的序列就是不超過N的全部質數。
下面的程序實現埃拉托斯特尼篩法求素數,其中,數組元素sieve[i](i>0)的下標i對應自然數i,sieve[i]的值為1/0分別表示i在/不在序列中,也就是將i劃去(去掉)時,就將sieve[i]設置為0。
【C 程序】
*include
*define N 10000
int main ()
{
char sieve[N+1] = {0};
int i =  0,k;
/*初始時2~N都放入sieve數組*/
for(i=2;         (1)      ; i++)
sieve[i] = 1;

for( k  =  2; ;){
/*找出剩下的數中最小者并用k表示*/
for( ; k if (        (3)        )  break;
printf("%d\t",k);       /*輸出素數*/
/*從sieve中去掉k及其倍數*/
for( i=k; i (5)                   ;
}/*end of  for*/

return  0;
}  /*end  of  main*/

查看答案

相關試題