求助,写了很久都没弄出来!!!!!
设计一程序,要求用率选法求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[]中所有没有被剔除的数;
#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; }