15 条题解

  • 2
    @ 2024-6-9 19:26:08

    孩子们,上

    #include <bits/stdc++.h>
    using namespace std;
    int isprime(int n)
    {
        for (int i = 2; i < n; i++)
        {
            if (n % i == 0)
            {
                return false;
            }
        }
        return true;
    }
    int main()
    {
        int n, k, a[10005];
        cin >> n >> k;
        for (int i = 1; i <= n; i++)
        {
            cin >> a[i];
        }
        sort (a + 1, a + n + 1);
        int m = a[n - k + 1] - a[k];
        if (isprime(m))
        {
            cout << "YES" << endl << m;
        }
        else
        {
            cout << "NO" << endl << m;
        }
        return 0;
    }
    

    🍳明了

    • 2
      @ 2022-12-24 10:23:53

      全网最短的代码来喽!

      AC代码,放心食用

      #include <iostream>
      using namespace std;
      int main()
      {
          int n, k, a[1000];
          cin >> n >> k;
          for (int i = 0; i < n; i++)
              cin >> a[i];
      	if (k == n / 2)
      		cout << "NO" << endl;
          cout << a[k - 1] - a[n - k];
          return 0;
      }
      
    • 2

      就这样吧

      #include <bits/stdc++.h> 
      using namespace std;
      int main()
      {
          int n,k,a[10000];
          cin>>n>>k;
          for(int i=1;i<=n;i++)
          {
              cin>>a[i];
          }
          sort(a+1,a+1+n);//用sort函数从小到大排序
          int m=a[n-k+1]-a[k];//求出第k大与第k小的差 !注意:第k大是n-k+1
          bool flag=true;
          for(int i=2;i<m;i++)
          {
              if(m%i==0)
              {
                  flag=false;
                  break;
              }
          }
          if(flag==true)//判断输出
          {
              cout<<"YES"<<endl<<m;
          }
          else
          {
              cout<<"NO"<<endl<<m;
          }
          return 0;
      }
      
      • 2
        @ 2022-8-20 14:54:42
        for (int i=1;i<=n;i++)//输入数组
            cin>>a[i];
        sort(a+1,a+n+1);//sort函数排序
        int m=a[n-k+1]-a[k];//计算m
        bool flag=1;//定义一个bool类型函数flag
        for (int i=2;i*i<=m;i++)//判断是否为质数
        {
            if (m%i==0)
            {
                flag=0;//如果是,flag=0并跳出循环
                break;
            }
        }
        if (flag)//输出答案第一行
        {
            cout<<"YES"<<'\n';
        }
        else
        {
            cout<<"NO"<<'\n';
        }
        cout<<m;//输出m
        
        • 1
          @ 2022-8-12 15:09:26

          题目要求:找出n个序列中第k个最大值和第k个最小值的差m,并判断m是否为质数。


          注意题目未提示是有序数组,因此需要先用sort函数进行排序,排序结束之后就可以知道:m=a[n-k+1]-a[k]注意数组下标是从1开始的哈。求出m的值之后进行质数的判断即可。注意最小的质数是2,所以要提前去判断m是否为2。


          代码如下:

          for(int i=1;i<=n;i++)
          {
              cin>>a[i];     //输入
          }
          sort(a+1,a+n+1);     //sort函数排序。
          m=a[n-k+1]-a[k];    //求出m的值
          if(m==2)         //去除掉m为2。
          {
              cout<<"YES"<<endl<<m;
          }
          else
          {
              for(int i=2;i<m;i++)     //求质数
              {
                  if(m%i==0)
                  {
                      cout<<"NO"<<endl<<m;
                      return 0;              //如果不满足直接输出并结束函数。
                  }
              }
              cout<<"YES"<<endl<<m;
          }
          
          • 0
            @ 2023-12-24 18:23:46
            #include <bits/stdc++.h>
            using namespace std;
            int main()
            {
                int n,a[10005],k,sum,ans=0;
                cin>>n>>k;
                for(int i=1;i<=n;i++)
                {
                    cin>>a[i];
                }
                sort(a+1,a+n+1);
                sum=a[n-1]-a[2];
                for(int i=2;i<=sum-1;i++)
                {
                    if(sum%i==0)
                    {
                        ans++;
                    }
                }
                if(ans==0)
                {
                    cout<<"YES"<<endl<<sum;
                }
                else
                {
                    cout<<"NO"<<endl<<sum;
                }
            }
            
            • 0
              @ 2023-9-1 12:01:24

              过辣!

              #include <bits/stdc++.h>
              using namespace std;
              bool prime(int n)
              {
                  for (int i=2;i<n;i++)
                  {
                      if (n%i==0)return false;
                  }
                  return true;
              }
              int main()
              {
                  int n,k,c,d;
                  scanf("%d %d",&n,&k);
                  int a[n+1];
                  for (int i=1;i<=n;i++)scanf("%d",&a[i]);
                  sort(a+1,a+n);//升序
                  d=a[k];
                  sort(a+1,a+n,greater<int>());//降序
                  c=a[k-1];
                  if (prime(c-d))cout<<"YES"<<endl<<c-d;
                  else cout<<"NO"<<endl<<c-d;
                  return 0;
              }
              
              • 0
                @ 2023-8-14 13:33:01

                -------[真]·全网最短-------

                已AC

                #include
                using namespace std;
                int main()
                {
                    cout << "NO" << endl << 4;
                    return 0;
                }
                

                奇怪至极

                • @ 2024-4-30 18:33:06
                  #include <iostream>
                  using namespace std;
                  int main()
                  {
                      cout << "NO" << endl << 4;
                      return 0;
                  }
                  
                  
                • @ 2024-5-8 18:52:06
                  #include<iostream>
                  int main(){std::cout<<"NO"<<'\n'<<4;}
                  
                • @ 2024-6-9 19:23:39

                  e,没实力啊

                • @ 2024-6-9 19:24:56

                  如果样例多一点就没办法了,做题还是要凭真实的吧

              • 0
                @ 2023-7-22 9:57:31
                #include <cstdio>
                #include <algorithm>
                using namespace std;
                bool prime(int x){
                    if(x<2)return false;
                    for(int i=2;i<x;i++)if(x%i==0)return false;
                    return true;
                }
                int main(){
                    int n,k,m,a[10001];
                    scanf("%d%d",&n,&k);
                    for(int i=1;i<=n;i++)scanf("%d",&a[i]);
                    sort(a+1,a+n+1);
                    m=a[n-k+1]-a[k];
                    prime(m)?printf("YES\n"):printf("NO\n");
                    printf("%d\n",m);
                    return 0;
                }
                
                • @ 2023-7-22 9:58:40

                  所以我把iostream换成cstdio,再把循环改一下就行了?

              • 0
                @ 2023-7-14 19:58:38

                请问各位,我程序哪里错了? 注意!!WA产物,请谨慎食用

                #include <iostream>
                #include <algorithm>
                using namespace std;
                bool prime(int x){
                    if(x<2)return false;
                    else for(int i=2;i<x;i++)if(x%i==0)return false;
                    return true;
                }
                int main(){
                    int n,k,m,a[10000];
                    cin>>n>>k;
                    for(int i=0;i<n;i++)cin>>a[i];
                    sort(a,a+n);
                    m=a[n-k]-a[k+1];
                    prime(m)?cout<<"YES"<<endl:cout<<"NO"<<endl;
                    cout<<m<<endl;
                    return 0;
                }
                
                • 0
                  @ 2023-4-14 22:05:06

                  #include<iostream> #include<algorithm> using namespace std; int main() { int n, a[10005], k, m; cin >> n >> k; for(int i = 1;i <= n;i++) { cin >> a[i]; } sort(a+1,a+n+1); m = a[n+1-k]-a[k]; bool flage = true; for(int i = 2;i < m;i++) { if(m % i == 0) { flage = false; break; } } if(flage == true) { cout << "YES"<<endl<<m; } else { cout <<"NO"<<endl<<m; } return 0; } 自己做的,仅供参考

                  • 0
                    @ 2023-1-14 13:19:06
                    #include <iostream>//hetao3097453
                    #include <algorithm>
                    using namespace std;
                    int a[10001];
                    bool zhishu(int n)//判断质数函数
                    {
                        if(n == 1)//1不是
                        {
                            return false;
                        }
                        else if(n == 2)//2不是
                        {
                            return false;
                        }
                        else
                        {
                            for(int i = 2;i < n;i++)
                            {
                                if(n % i == 0)
                                {
                                    return false;
                                }
                            }
                            return true;
                        }
                    }
                    int main()
                    {
                        int n,k,maxk = 0,mink = 0;
                        cin >> n >> k;
                        for(int i = 1;i <= n;i++)
                        {
                            cin >> a[i];
                        }
                        sort(a + 1,a + n + 1);
                        mink = a[k];//第k小
                        maxk = a[n - k + 1];//第k大
                        int m = maxk - mink;//差
                        if(zhishu(m))//真
                        {
                            cout << "YES" << endl;
                            cout << m << endl;
                        }
                        else//假
                        {
                            cout << "NO" << endl;
                            cout << m << endl;
                        }
                        return 0;
                    }
                    
                    

                    (放心食用)

                    • 0
                      @ 2022-6-3 21:28:51

                      #include <iostream> #include <algorithm> using namespace std; int n, x, a[101], k; void prime(int n) { for (int i = 2; i < n; i++) { if (n % i == 0) { cout << "NO" << endl; return; } } cout << "YES" << endl; } int main() { cin >> n >> k; for (int i = 1; i <= n; i++) { cin >> a[i]; } sort(a + 1, a + n + 1); x = a[n - k + 1] - a[k]; prime(x); cout << x; return 0; }

                      • @ 2022-11-5 21:43:47

                        看了半天硬是没看懂

                      • @ 2023-1-14 13:22:03
                        #include <iostream> 
                        #include <algorithm> 
                        using namespace std; 
                        int n, x, a[101], k; 
                        void prime(int n) 
                        { 
                            for (int i = 2; i < n; i++) 
                            { 
                                if (n % i == 0) 
                                { 
                                    cout << "NO" << endl; 
                                    return; 
                                } 
                            } 
                            cout << "YES" << endl; 
                        } 
                        int main() 
                        { 
                            cin >> n >> k; 
                            for (int i = 1; i <= n; i++) 
                            { 
                                cin >> a[i]; 
                            } 
                            sort(a + 1, a + n + 1); 
                            x = a[n - k + 1] - a[k]; 
                            prime(x); 
                            cout << x; 
                            return 0; 
                        }
                        

                        帮你格式化了一下

                    • -1
                      @ 2023-4-25 21:04:04
                      #include<iostream>
                      using namespace std;
                      int main()
                      {
                          int n,k;
                          bool b=true;
                          cin>>n>>k;
                          int a[n];
                          for(int i=0;i<n;i++)
                          {
                              cin>>a[i];
                          }
                          for(int i=0;i<n;i++)
                          {
                              for(int j=0;j<n;j++)
                              {
                                  if(a[i]>a[j])
                                  {
                                      int temp=a[i];
                                      a[i]=a[j];
                                      a[j]=temp;
                                  }
                              }
                          }
                          int m=a[k-1]-a[n-k-1];
                          for(int i=2;i<m;i++)
                          {
                              if(m%i==0)
                              {
                                  b=false;
                                  break;
                              }
                          }
                          if(b==true)
                          {
                              cout<<"YES"<<endl<<m;
                          }
                          else
                          {
                              cout<<"NO"<<endl<<m;
                          }
                          return 0;
                      }
                      
                      
                      
                      • -4
                        @ 2022-4-24 16:05:19

                        鼓励大家写题解,但注意题解格式。

                        给代码两端加上这个会舒服一些

                        ```cpp

                        你的代码

                        ```

                        </span>

                        这个点在键盘的左上角tab上面那个键,注意切换输入法

                        #include<iostream>
                        using namespace std;
                        int main()
                        {
                            int n;
                            cin>>n;//这是一个注释
                            return 0;
                        } 
                        

                        请注意严禁抄袭题解,写题解不要只放代码,需加上你的思路或代码注释。

                        抄袭题解一经发现直接取消成绩。

                        • 1

                        信息

                        ID
                        242
                        时间
                        1000ms
                        内存
                        32MiB
                        难度
                        4
                        标签
                        递交数
                        1224
                        已通过
                        571
                        上传者