|
��例如,要求用筛选法求100以内的素数。所谓筛选法,就是从2到100中去掉2,3,…,9,10的倍数,剩下的就是100以内的素数。为了解决这个问题,可先按程序功能写出一个框架。 |
main ( ) {
� 建立2到100的数组A[ ],其中A[i]=i; - - - - - - - - - - - - - - - - - 1
� 建立2到10的素数表B[ ],其中存放2到10以内的素数;- - - - - - - - - - - 2
� 若A[i]=i是B[ ]中任一数的倍数,则剔除A[i]; - - - - - - - - - - - - - 3
� 输出A[ ]中所有没有被剔除的数;- - - - - - - - - - - - - - - - - - - - 4
}
上述框架中每一个加工语句都可进一步细化成一个循环语句。
main ( ) {
� /*建立2到100的数组A[ ],其中A[i]=i*/ - - - - - - - - - - - - - - - - 1
� for ( i = 2;i <= 100;i++ ) A[i] = i;
� /* 建立2到10的素数表B[ ],其中存放2到10以内的素数*/ - - - - - - - - - 2
� B[1] =2; B[2] = 3; B[3] = 5; B[4] = 7;
� /*若A[i]=i是B[ ]中任一数的倍数,则剔除A[i]*/ - - - - - - - - - - - - 3
� for ( j = 1;j <= 4; j++ )
���检查A[ ]所有的数能否被B[j]整除并将能被整除的数从A[]中剔除;- - - 3.1
� /*输出A[ ]中所有没有被剔除的数*/- - - - - - - - - - - - - - - - - - - 4
� for ( i = 2;i <= 100;i++ )
� ��若A[i]没有被剔除,则输出之;- - - - - - - - - - - - - - - - - - 4.1
}
�� |
|