说明
给定一个长度为N(0< n< =10000)的序列,保证每一个序列中的数字a[i]是正整数 ,编程要求求出整个序列中第k大的数字减去第k小的数字的值m,并判断m是否为质数。(0< k< =n)
输入数据
第一行为2个数n,k(含义如上题)第二行为n个数,表示这个序列
输出数据
如果m为质数则第一行为'YES'(没有引号)第二行为这个数m 否则 第一行为'NO' 第二行为这个数m
题解
# include <bits/stdc++.h>
using namespace std;
int main(){
int v,u,n,k,big=0,small=0,jg=0;
cin>>n>>k;
int a[n];
for (u=0;u<n;u++)
cin>>a[u];
for (u=0;u<n;u++)
{
for (v=0;v<n;v++)
{
if (a[u]>a[v])
big+=1;
if (a[u]<a[v])
small+=1;
}
if (big==k-1)
jg-=a[u];
if (small==k-1)
jg+=a[u];
big=0;
small=0;
}
for (u=2;u<jg;u++)
{
if (jg%u==0)
{
cout<<"NO"<<endl
<<jg;
return 0;
}
}
cout<<"YES"<<endl
<<jg;
return 0;
}
题外话
【c++基础】高精度减法_c++1946: 【基础】高精度减法3-CSDN博客文章浏览阅读1.2k次,点赞28次,收藏9次。【c++基础】高精度减法输入两个高精度正整数a和b(a,b的位数_c++1946: 【基础】高精度减法3https://blog.csdn.net/2301_79396857/article/details/135989909?spm=1001.2014.3001.5502【c++基础】高精度乘法-CSDN博客文章浏览阅读1k次,点赞24次,收藏15次。【c++基础】高精度乘法输入两个高精度整数a和b(a,b位数https://blog.csdn.net/2301_79396857/article/details/136026655?spm=1001.2014.3001.5502【c++入门】均分纸牌(Noip2002)-CSDN博客文章浏览阅读1k次,点赞31次,收藏20次。【c++入门】均分纸牌(Noip2002)https://blog.csdn.net/2301_79396857/article/details/136072054?spm=1001.2014.3001.5502【c++基础】骑士的金币(coin)(NOIP2015)-CSDN博客文章浏览阅读1k次,点赞49次,收藏27次。【c++基础】骑士的金币(coin)(NOIP2015)国王将金币作为奖励,发放给忠诚的骑士。第一天,骑士收到一枚金币;之后两天(第二天和第三天)里,每天收到两枚金币;之后三天(第四、五、六天)里,每天收到三枚金币;之后四天(第七、八、九、十天)里,每天收到四枚金币……这种工资发放模式会一直这样延续下去:当连续N天每天收到N枚金币后,骑士会在之后的连续N+1天里,每天收到N+1枚金币(N为任意正整数)。你需要编写一个程序,确定从第一天开始的给定天数内,骑士一共获得了多少金币。https://blog.csdn.net/2301_79396857/article/details/136092163?spm=1001.2014.3001.5502全部可见和粉丝可见哪个更好?有什么区别?-CSDN博客文章浏览阅读244次,点赞10次,收藏3次。全部可见和粉丝可见哪个更好?有什么区别?https://blog.csdn.net/2301_79396857/article/details/136111475?spm=1001.2014.3001.5502