3 条题解

  • 2
    @ 2024-3-24 12:49:23
    #include <iostream>
    using namespace std;
    int a[100000000];
    int main()
    {
    	int n,m=0;
    	cin>>n;
    	a[1]=1;
    	for(int i=2;i<=n/2;i++)
    	if(a[i]!=0)
    	for(int j=2;j<=n/2;j++)
    	{
    		a[i*j]=1;
    		if(i*j>n) break;
    	}
    	for(int i=1;i<=n;i++)
    	if(!a[i]) m++;
    	cout<<m;
    	return 0;
    }//此题解有1个错误,请自己找出。
    
    • @ 2024-12-11 13:09:22

      我要是会,还用看你的? 我要是能找出来,我还用来这儿?

  • 0
    @ 2024-12-13 13:50:48
    #include<bits/stdc++.h>
    using namespace std;
    int a[10000000];
    int main()
    {	
    	int n,q=0;
    	cin>>n;
    	for(int i=2;i<=n;i++)
    	{
    		if(a[i]!=1)
    		for(int j=2;j<=n/i;j++)
    		{
    			a[i*j]=1;
    		}
    	}
    	for(int i=2;i<=n;i++)
    	{
    		if(a[i]==0)
    		{
    			q++;
    		}
    	}
    	cout<<q;
    	return 0;
    }
    
    • 0

      Eratosthenes 筛法

      • 1

      信息

      ID
      117
      时间
      1000ms
      内存
      256MiB
      难度
      8
      标签
      递交数
      120
      已通过
      15
      上传者