6 条题解

  • 3
    @ 2023-3-6 22:25:49

    P902 第n小的质数

    题面

    image


    额……根据数据范围可以直接推断出这是一道暴力模拟题,so……代码如下

    AC代码

    #include<bits/stdc++.h>
    using namespace std;
    int n;
    bool isprime(int n){//判断整数n是否为质数
    	for(int i=2;i<=sqrt(n);i++){
    		if(n%i==0){
    			return false; 
    		}
    	}
    	return true;
    }
    int main(){
    	cin>>n;
    	int k=2;//当前检查数
    	while(n>0){
    		if(isprime(k)){
    			n--;
    		}
    		k++;
    	}
    	cout<<k-1;
    }
    

    PS:这段代码其实有一点点无伤大雅的小问题,就是最后一行写得怪怪的,因为得到正解后在while里面k还会再+1,所以……其实又没有什么问题…… image

  • 1
    @ 2023-12-10 11:34:07
    #include <bits/stdc++.h>
    using namespace std;
    bool a[1000005]={};
    int n,ans;
    int main()
    {
    	cin>>n;
    	a[1]=1;
    	for(int i=1;i<=1000000;i++)
    	{
    		if(a[i]==0)
    		{
    			ans++;
    			if(ans==n)
    			{
    				cout<<i;
    			}
    			for(int j=i*2;j<=1000000;j+=i)
    			{
    				a[j]=1;
    			}
    		}
    	}
    	return 0;
    }
    
    • 0
      @ 2023-6-5 17:22:13
      #include <bits/stdc++.h>
       using namespace std;
        int main() {
         int a,b=0; 
         cin>>a; 
         for(int i = 2; ;i++)
         {
          bool flag = 1;
      	 for (int j=2;j<=sqrt(i);j++){
      	  if(i%j == 0){
      	   flag = 0; break;}
      	    } if(flag == 1) b++;
      		 if(b == a){
      		  cout<<i;
      		   return 0;
      		    } 
      			}
      			 }
      
      • 0
        @ 2023-3-26 8:56:37
        #include<iostream>
        #include<cmath>
        using namespace std;
        int main(){
        	int n,sum=0;
        	cin>>n;
        	for(int i=2; ;i++){
        		bool flag=1;
        		for(int j=2;j<=sqrt(i);j++)
        		    if(i%j==0){
        		    	flag=0;
        		    	break;
        		    } 
        		if(flag) sum++;
        		if(sum==n){
        			cout<<i;
        			return 0;
        	}
        	}
        }
        
        • 0
          @ 2023-1-13 11:37:56

          #include <bits/stdc++.h>

          using namespace std;

          int main()

          {

          int a,b=0;

          cin>>a;

          for(int i = 2; ;i++){

          bool flag = 1;

          for (int j=2;j<=sqrt(i);j++){

          if(i%j == 0){

          flag = 0;

          break;}

          }

          if(flag == 1) b++;

          if(b == a){

          cout<<i;

          return 0;

          }

          }

          }

          • 0
            @ 2023-1-13 11:37:17

            #include <bits/stdc++.h> using namespace std; int main() { int a,b=0; cin>>a; for(int i = 2; ;i++){ bool flag = 1; for (int j=2;j<=sqrt(i);j++){ if(i%j == 0){ flag = 0; break;} } if(flag == 1) b++; if(b == a){ cout<<i; return 0; } } }

            • 1

            信息

            ID
            902
            时间
            1000ms
            内存
            128MiB
            难度
            6
            标签
            递交数
            427
            已通过
            141
            上传者