解题思路: 用sort函数先排序,然后求出第k大的数字减去第k小的数字的值m,再判断m是否是素数即可。
参考代码:
#include <bits/stdc++.h> using namespace std; const int N=10005; int a[N]; int prime(int n) { int k=sqrt(n); if(n<2) return 0; for(int i=2;i<=k;i++) if(n%i==0) return 0; return 1; } int main() { int n,k,m; cin>>n>>k; for(int i=0;i<n;i++) cin>>a[i]; sort(a,a+n); m=a[n-k]-a[k-1]; if(prime(m)) cout<<"YES"<<endl; else cout<<"NO"<<endl; cout<<m; return 0; }
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题7.1 (C语言代码)浏览:611 |
The 3n + 1 problem (C语言代码)浏览:551 |
母牛的故事 (C语言代码)浏览:549 |
打印十字图 (C语言代码)浏览:2705 |
1017题解浏览:595 |
sizeof的大作用 (C语言代码)浏览:1449 |
sizeof的大作用 (C语言代码)浏览:1024 |
分糖果 (C语言代码)浏览:913 |
简单的a+b (C语言代码)浏览:460 |
生日日数 (C语言代码)浏览:1501 |