1 条题解

  • 0
    @ 2025-10-10 19:47:18

    C++ :

    #include <bits/stdc++.h>
    using namespace std;
    
    int n;
    bool f[100000010];//false表示是素数,true不是 
    int main(){
    	cin>>n;
    	int c = n - 1;//共n个数,1不是素数 
    	f[1] = true;//特判1 
    	for(int i = 2;i * i <= n;i++){
    		//如果i是素数,i的倍数就不是素数 
    		if(f[i] == false){
    			for(int j = i * 2;j <= n;j = j + i){
    				//防止重复标记 
    				if(f[j]==false){
    					f[j] = true;//不是素数 
    					c--; 
    				} 
    			} 
    		} 
    	} 
    	cout<<c;
    	return 0;
    }
    
    
    • 1

    信息

    ID
    989
    时间
    1000ms
    内存
    512MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者