美文网首页
K极值问题

K极值问题

作者: FTVBeginning | 来源:发表于2016-03-07 13:20 被阅读0次

给定一个长度为N(0<n<=10000)的序列,保证每一个序列中的数字a[i]是小于maxlongint的非负整数 ,编程要求求出整个序列中第k大的数字减去第k小的数字的值m,并判断m是否为质数。(0<k<=n)
输入格式:第一行为2个数n,k(含义如上题)第二行为n个数,表示这个序列
输出格式:如果m为质数则第一行为'YES'(没有引号)第二行为这个数m否则 第一行为'NO'第二行为这个数m

include <iostream>

define MAXN 10000

using namespace std;
int main()
{
int i,n,k,a[MAXN] = {0}
int is_prime(int);
void sort(int ans[], int);
cin >> n >> k;
for(i=0; i<n; i++)
{
cin >> a[i];
}
sort(a,n);
if(is_prime (a[k-1]-a[n-k]))cout << "YES\n" << a[k-1]-a[n-k]<<endl;
else cout << "NO\n" << a[k-1]-a[n-k] << endl;
return 0;
}

int is_prime (int figure)
{
int i;
if(figure<2) return 0;
if(figure==2) return 1;
for(i=3;i<figure;i++)
{
if(figure % i== 0)return 0;
}
return 1;
}

void sort(int ans[], int length)
{
void swap(int *a, int *b);
int t,r;
for(t=0; t < length; t++)
{
r=1;
while(t-r >=0 && ans[t-r] < ans[t]
{
swap(&ans[t], &ans[t-r[);
t -= r;
}
}
}

void swap(int *a, int *b)
{
int t;
t = *a; *a = *b; *b = t;
}

相关文章

  • K极值问题

    给定一个长度为N(0

  • 函数极值问题

    函数有极值,就求导,然后令导数=0(因为此时切线平行X轴,斜率为0,而斜率就是导数)求出X值带入原函数求Y即可 从...

  • 拉格朗日乘子法

    问题:求函数 在条件 下可能的极值点,其中 . 利用 Lagrange 乘子法,可将带约束的极值问题转化为无约束...

  • 二元微分

    1.大题一般会遇到求极值:条件极值和无条件极值 出现的问题: 1.讨论“来木他”是否为0,从而得到不同的驻点,代入...

  • 2019-03-13

    言语表达 数学运算 计算问题、行程问题、工程问题、几何问题、排列组合、概率问题、容斥问题、 利润问题、极值问题、浓...

  • 极值点与极值

    极值点与极值的概念 WIKI 1 2 3 概念 注意事项 可导函数与不可导函数的极值点 应用 WIKI 1 2

  • 利用导数研究函数的零点与交点问题

    利用导数研究函数的零点与交点问题 WIKI 1函数的零点 WIKI 1函数的单调性 2极值点与极值 应用举例 WI...

  • 极值理论

    一元极值理论 经典极值理论 极值分布的类型以及性质 极值分布的最大值吸引场 平均超出量函数与T年重现水平 平均超出...

  • K11-2/15《小决心》

    改变,循序渐进。 解决问题,从小问题开始。 设立目标,不要取极值,在边际处改变。

  • 1 参悟深度学习-梯度下降法

    数学知识 导函数 本质上梯度下降法是在解决极值的问题 而在数学上求极值,需要知道导函数 就很容易求的 比如 函数 ...

网友评论

      本文标题:K极值问题

      本文链接:https://www.haomeiwen.com/subject/xujokttx.html