求代码意思。。。。。
这一段代码太深奥了。。求大神解释;程序代码:
#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; }