1 #include<bits/stdc++.h>
2 using namespace std;
3 const int maxn=1e5+5;
4 bool isprime[maxn];
5 int prime[maxn];
6 int mu[maxn];
7 int cnt=0;
8 void getmu()
9 {
10 mu[1]=1;
11 memset(isprime,1,sizeof isprime);
12 isprime[1]=0;
13 for(int i=2;i<maxn;i++)
14 {
15 if(isprime[i]==1)
16 {
17 prime[cnt++]=i;
18 mu[i]=-1;
19 }
20 for(int j=0;j<cnt&&i*prime[j]<maxn;j++)
21 {
22 isprime[i*prime[j]]=0;
23 if(i%prime[j]==0)
24 {
25 mu[i*prime[j]]=0;
26 break;
27 }
28 mu[i*prime[j]]=-mu[i];
29 }
30 }
31 }
32 int main()
33 {
34 getmu();
35 for(int i=1;i<10;i++)
36 cout<<mu[i]<<" ";
37 }