求代码意思。。。。。
这一段代码太深奥了。。求大神解释;
程序代码:#include<iostream>
#define MAX 1000001
using namespace std;
int a[MAX];
int main()
{
int n,i,j,m=1;
memset(a,0,sizeof(a));
for(i=2;i<MAX;i++)
if(a[i]==0)
{for(j=i;j<MAX;j+=i)a[j]=m;m++;}
while(scanf("%d",&n)!=EOF)
{printf("%d\n",a[n]);}
return 0;
}









