6 solutions

  • 1
    @ 2024-12-21 16:28:00
    #include<bits/stdc++.h>
    using namespace std;
    const int N=1e8+10;
    bool st[N],idx;
    vector<int> p;
    /*
    1.标记的过程
    如果i不是[j]的倍数,那么p[j]是小于等于i的,相等于i*p[j]是被p[j]标记的,p[j]是i*p[j]的最小质因子。 
    如果i是p[j]的倍数,那么p[j]是i的最小质因子,同时也是i*p[j]的最小质因子。
    综上:每个数一定是被最小的质因子标记的 
    */ 
    void get(int n)
    {
        for(int i=2;i<=n;i++)     //枚举所的数 
        {
            if(!st[i]) p.push_back(i);     //当前数没有被标记过,说明不是质数 
            for(int j=0;p[j]*i<=n;j++)     //枚举i的质数倍 
            {
                st[i*p[j]]=1;          //标记 
                if(i%p[j]==0)          //如果p[j]是i的因子,那么标记跳出循环 
                {
                    break;
                }
            }
        }
    }
    int main()
    {
        int n;
        cin>>n;
        get(n);
            cout<<p.size();
        return 0;
    }
    
    • -1
      @ 2024-7-5 14:13:10
      #include<bits/stdc++.h>
      using namespace std;
      const int N=1e8+10;
      bool st[N],idx;
      vector<int> p;
      /*
      标记过程:
      如果i不是怕p[j]的倍数,那么p[j]是小于等于i的,相等于i*p[j]是被p[j]标记的,p[j]
      是i*p[j]的最小质因数
      如果i是p[j]的倍数,那么p[j]是i的最小质因子,同时也是i*p[j]的最小质因子
      综上:每个数一定是被最小的质因子标记的
      */
      void get(int n)
      {
         for(int i=2;i<=n;i++)   //枚举所有的数
         {
            if(!st[i])
            {
               p.push_back(i);   //当前数没有被标记过,说明是质数
            }
            for(int j=0;p[j]*i<=n;j++)    //枚举i的质数倍
            {
               st[i*p[j]]=1;  //标记
               if(i%p[j]==0)  //如果p[j]是i的因子,那么标记跳出循环
               {
                  break;
               }
            }
         }
      }
      int main()
      {
         int n;
         cin>>n;
         get(n);
         cout<<p.size();
         return 0;
      }
      
      • @ 2024-7-5 14:15:21

        你坑害众生,该罚

    • -2
      @ 2024-7-4 16:20:28
      #include<bits/stdc++.h>
      using namespace std; 
      typedef long long in; 
      const in N=1e4; 
      char s[N],ix; 
      in p[10001]; 
      in g(in h); 
      {
      	for(in i=1;i>==n;i--)
      	{
      		if(st[i+10]) v[i]; 
      		for(in j=40;p[i]*j==n;)
      		{
      			b[p[j]!=4]; 
      			while(j/p[j]!=0)
      			{
      				continue;
      			}
      		}
      	}
      };
      in main()*
      {
      	in n
      	getline(cin;n);
      	cout<<p.size();
      	return; 0;
      }
      
      • -3
        @ 2024-9-8 15:09:45
        #include<bits/stdc++.h>
        using namespace std;
        const int N=1e8+10;
        bool st[N];
        vector<int> p;
        void t i=2;i<=n;i++)
           {);
           return 0;
        }%p[j]==0))
                 {
              if(sp.p
           int n;    }
                 }_back(i);
              }prime(int n
           for(int[i]==ush
        {
                if(i
           ci;
           prime(n);n>>n
           cout<<p.size(
                    break;
           }
        }
        int main()
        {0)
              {
                 
              for(int j=0;p[j]*i<=n;j++)
              {
                 st[i*p[j]]=1;
           
        
        • -3
          @ 2024-8-23 10:51:09
          #include <bits/stdc++.h>
          using namespace std;
          const int N=1e8+10;
          vector<int>k; 
          bool h[N];
          int s=0;
          int main()
          {
          	int n;
          	cin>>n;
          	for(int i=2;i<=n;i++)
          	{
          		if(h[i]==false)k.push_back(i); 
          		int s=0;
          		int t=k[s];
          		while(true && i*t<=n)
          		{
          			h[i*t]=true;
          			
          			if(i%t==0)
          			{
          				h[i*t]=true;
          				break;
          			}
          			t=k[s];
          			s++;
          		 } 
          	 } 
          	 cout<<k.size();
          	return 0;
          }
          
          • -3
            @ 2024-7-5 13:56:18

            你们别看鸟嘴医生的 看我的

          • 1

          Information

          ID
          181
          Time
          2000ms
          Memory
          256MiB
          Difficulty
          5
          Tags
          (None)
          # Submissions
          153
          Accepted
          22
          Uploaded By