15 条题解

  • 2
    @ 2025-12-13 16:48:15

    暴力打表居然AC了!!!

    using namespace std;
    int main(){
    	int a;
    	cin>>a;
    	if(a%3==0&&a!=3){
    		cout<<"no";
    	}
    	else if(a%5==0&&a!=5){
    		cout<<"no";
    	}
    	else if(a%7==0&&a!=7){
    			cout<<"no";
    	}
    	else if(a%2==0&&a!=2){
    			cout<<"no";
    	}
    	else if(a%11==0&&a!=11){
    			cout<<"no";
    	}
    	else if(a%13==0&&a!=13){
    			cout<<"no";
    	}
    	else if(a%17==0&&a!=17){
    			cout<<"no";
    	}	
    	else if(a%19==0&&a!=19){
    			cout<<"no";
    	}
    	else if(a%23==0&&a!=23){
    			cout<<"no";
    	}
    	else if(a%25==0&&a!=25){
    			cout<<"no";
    	}
    	else if(a%31==0&&a!=31){
    			cout<<"no";
    	}
    	else if(a%37==0&&a!=37){
    			cout<<"no";
    	}
    	else if(a%41==0&&a!=41){
    			cout<<"no";
    	}
    	else if(a%43==0&&a!=43){
    			cout<<"no";
    	}
    	else if(a%47==0&&a!=47){
    			cout<<"no";
    	}
    	else if(a%53==0&&a!=53){
    			cout<<"no";
    	}
    	else if(a%59==0&&a!=59){
    			cout<<"no";
    	}
    	else if(a%61==0&&a!=61){
    			cout<<"no";
    	}
    	else if(a%67==0&&a!=67){
    			cout<<"no";
    	}
    	else if(a%71==0&&a!=71){
    			cout<<"no";
    	}
    	else if(a%73==0&&a!=73){
    			cout<<"no";
    	}
    	else if(a%79==0&&a!=79){
    			cout<<"no";
    	}
    	else if(a%83==0&&a!=83){
    			cout<<"no";
    	}
    	else if(a%89==0&&a!=89){
    			cout<<"no";
    	}
    	else if(a%97==0&&a!=97){
    			cout<<"no";
    	}
    	else{
    		cout<<"yes";
    	}
    	return 0;
    }
    
    
    • 2
      @ 2024-12-29 8:50:20

      写一个判断质数的函数即可

      #include<bits/stdc++.h>
      using namespace std; 
      int a;
      bool fun(int n){
      	if(n<=1){
      		return false;
      	}
      	for(int i=2;i<n;i++){
      		if(n%i==0){
      			return false;
      		}
      	}
      	return true;
      }
      int main(){
      	cin>>a;
      	if(fun(a)==true){
      		cout<<"yes";
      	}
      	else{
      		cout<<"no";
      	}
      	return 0;
      }
      
      • 1
        @ 2024-12-29 9:13:56

        理论上讲,由于c++的特性
        int直接舍弃小数位

        我们分类讨论:

        如果n为平方数

        那么sqrt(n)*sqrt(n)=n
        刚好可以判断到

        如果n不是平方数

        那么sqrt(n)*sqrt(n)<n
        okk

        什么?你问我为啥不是枚举到n/2?

        随便拆一个数举例子:
        12
        =1 x 12
        =2 x 6
        =3 x 4
        可以发现,左右两个数列都在逼近sqrt(12)
        而c++特性告诉我们:int(sqrt(12))=3
        所以说直接从2枚举到sqrt(n)就可以了
        1肯定不用枚举
        你家哪个整数不能被1整除啊......

        #include<bits/stdc++.h>
        using namespace std;
        int main(){
        	int n;
        	cin>>n;
        	for(int i=2;i<=sqrt(n);i++){
        		if(n%i==0){
        			cout<<"no";
        			return 0;
        		}
        	}
        	cout<<"yes";
        	return 0;
        }
        
        • 0
          @ 2025-12-14 20:18:51

          太简单了

          #include<bits/stdc++.h> using namespace std; int main(){ int n; cin>>n; if(n1){ cout<<"no"; return 0; } for(int i=2;i<n;i++){ if(n%i0){ cout<<"no"; return 0; } } cout<<"yes"; return 0; }

          • 0
            @ 2025-10-26 10:40:29
            for(register int i=1;i<=n;++i){
            		for(register int j=1;j<=n;++j){
            			cout<<rand()%10+1<<" ";
            		}
            		cout<<'\n';
            	}
            	
            
            • 0
              @ 2025-5-28 21:29:47

              #include<bits/stdc++.h> using namespace std; int main(){ int n; cin>>n; for(int i=2;i<=sqrt(n);i++){ if(n%i==0){ cout<<"no"; return 0; } } cout<<"yes"; return 0; }

              • 0
                @ 2024-12-22 17:57:40

                楼下的无敌,发现大伙儿们都写函数。

                我整个对下一届初级班友好一点儿的,带注释:

                #include<bits/stdc++.h>
                using namespace std;
                int main()
                {
                	int n;
                	cin>>n;//输入,不必多说。
                	if(n==1)
                	{
                		cout<<"no";
                		return 0;
                	}
                	for(int i=2;i*i<=n;i++)//时间复杂度根号 n,算个优化,因为一旦 i 大于根号 n,n 取余 i 就不会等于 0 了。
                	{
                		if(n%i==0)
                		{
                			cout<<"no";
                			return 0;//输出完直接 return!(顺便少定义个 flag 啊哈哈哈哈)
                		}
                	}
                	cout<<"yes";
                	return 0;
                }
                
                • 0
                  @ 2024-12-22 11:28:47
                  #include<bits/stdc++.h>
                  using namespace std;
                  bool isprime(int n)
                  {
                  	for(int i=2;i<=sqrt(n);i++)
                  	{
                  		if(n%i==0)return 0;
                  	}
                  	return 1;
                  }
                  int main()
                  {
                  	int n;
                  	cin>>n;
                  	if(isprime(n))cout<<"yes";
                  	else cout<<"no";
                  	return 0;
                  }
                  
                  
                  • 0
                    @ 2024-12-22 11:08:29

                    时间复杂度 O(n)O(\sqrt n)

                    #include<bits/stdc++.h>
                    using namespace std;
                    bool IsPrime(int n){
                    	for(int i=2;i*i<=n;i++)//从 2 开始
                            if(n%i==0)return false;
                    	return true;
                    }
                    signed main(){
                    	int n;
                    	cin>>n;
                    	if(IsPrime(n))cout<<"yes";
                    	else cout<<"no";
                    }
                    
                    • -1
                      @ 2025-10-8 10:55:04
                      #include<iostream>
                      using namespace std;
                      bool ss(int a){
                      	if(a==1){
                      		return false;
                      	}
                      	for(int i=2;i<=a-1;i++){
                      		if(a%i==0){
                      			return false;
                      		}
                      	}
                      	return true;
                      }
                      int main(){
                      	int n;
                      	cin>>n;
                      	if(ss(n)){
                      		cout<<"yes";
                      	}
                      	else{
                      		cout<<"no";
                      	}
                      	return 0;
                      }
                      
                      
                      • -1
                        @ 2025-3-9 14:08:30

                        这道题太简单了

                        #include<bits/stdc++.h>
                        using namespace std;
                        int main(){
                            int n;
                            cin>>n;
                            if(n==1){
                                cout<<"no";
                                return 0;
                            }
                            for(int i=2;i<n;i++){
                                if(n%i==0){
                                    cout<<"no";
                                    return 0;
                                }
                            }
                            cout<<"yes";
                            return 0;
                        }
                        

                        点个赞吧

                        • -1
                          @ 2024-12-29 9:52:01

                          质数只有1和它本身是他的因数

                          故2~n-1无他的因数

                          判断这个区间有无他的因数就行

                          主题代码:

                          for(int i=2;i<n;i++){
                            if(n%i==0){
                              printf("no");
                              return 0;
                            }
                          }
                          
                          • -1
                            @ 2024-12-29 9:03:04
                            #include<bits/stdc++.h>
                            using namespace std;
                            int n;
                            int main(){
                            	cin>>n;
                            	if(n<=1) cout<<"no";
                            	for(int i=2;i*i<=n;i++){
                            		if(n%i==0){
                            			cout<<"no";
                            			return 0;
                            		}
                            	}
                            	cout<<"yes";
                            }
                            
                            
                            • -1
                              @ 2024-12-22 11:11:04

                              直接写一个函数即可。
                              也可以直接筛。

                              #include<bits/stdc++.h>
                              #define int long long
                              #define INF 0x3f3f3f
                              using namespace std;
                              int n;
                              bool prime(int x){
                              	if(x<2)return 0;
                              	for(int i=2;i*i<=n;i++)
                              		if(!(n%i))return 0;
                              	return 1;
                              }
                              signed main(){
                              	cin>>n;
                              	if(prime(n))cout<<"yes";
                              	else cout<<"no";
                              	return 0;
                              }
                              
                              • -1
                                @ 2024-12-22 11:03:51

                                C++ :

                                #include<bits/stdc++.h>
                                using namespace std;
                                int ss(int x){
                                	if(x<2)return false;
                                	if(x==2)return true;
                                	for(int i=2;i<=sqrt(x)+1;i++){
                                		if(x%i==0)return false;
                                	}
                                	return true;
                                }
                                
                                int main(){
                                	int a;
                                	cin>>a;
                                	if(ss(a))cout<<"yes";
                                	else cout<<"no";
                                	return 0;
                                }
                                

                                Python :

                                # coding=utf-8
                                n=int(input())
                                flag=0
                                for i in range(2,n):
                                    if n%i==0:
                                        flag=1
                                        print("no")
                                        break
                                if flag==0:
                                    print("yes")
                                
                                • 1

                                信息

                                ID
                                3
                                时间
                                5000ms
                                内存
                                128MiB
                                难度
                                4
                                标签
                                递交数
                                262
                                已通过
                                126
                                上传者