以下这个C++编程不太明白,这是一道“用筛选法求100以内的素数”。可以分析下吗?
首先定义a[i]=1是初始化数组,全部初始化为1,以后会有0,而1则为素数,0就不是.而定义的a[101],定义了101个空间,但不可能有101个素数.第2:里面的双重循环,主要是这样:一个数,比如说20,那么就要把,从2~19全部被20除,如果除进,那么就不是素数,那么就标志为0,if(a[i]!=0)以后凡是为0的,都不是素数,要不为0而为1才是素数
#include<iostream。
h>void main(){int a[101];初始化数组for (int i=1;i<101;i++){a[i]=1;for (i=2;i<101;i++){if (a[i]!=0)for (int j=i+1;j<101;j++){if (j%i==0)a[j]=0}}}for (i=2;i<101;i++)if (a[i]!=0)cout<<i<<" ";}。
这个程序写得太差!!!不明白也罢。