求助,写了很久都没弄出来!!!!!
设计一程序,要求用率选法求100以内的素数,筛选法就是从2到100中去掉2,3,……9,10的倍数,剩下的就是100以内的素数,已知该程序的功能框架如下:main( )
{
建立2到100的数组A[],其中A[i]=i;
建立2到10的素数表B[],其中存放2到10以内的素数;
若A[i]=i是B[]中任一数的倍数,则踢除A[i];
输出A[]中所有没有被剔除的数;
2013-12-04 22:42
2013-12-04 22:43

程序代码:
#include <iostream>
int A[101], B[5] = {0, 2, 3, 5, 7};
int main(int argr, char *argv[])
{
for (int n; std :: cin >> n;)
{
for (int i = 2; i <= n; i++) A[i] = i;
for (int i = 2; i <= n; i++)
for (int j = 1; j <= 4; j++)
if (i % B[j] == 0 && A[i] != B[j])
{
A[i] = !A[i];
break;
}
for (int i = 2; i <= n; i++)
if (A[i]) std :: cout << A[i] << std :: endl;
}
return 0;
}

2013-12-04 22:56

2013-12-05 08:17
2013-12-05 08:28
2013-12-05 09:28
2013-12-05 12:26
2013-12-05 13:59
2013-12-05 14:09
2013-12-05 14:09