当前位置: 首页 > article >正文

深搜专题7:最大质数

描述

给定一个正整数的序列,从中选出若干个数字,使它们的和为质数,请找出其中最大的一个质数。如果不存在任何组合的和为质数,则输出“NO”。

输入描述

一个整数 N (5 <= N <= 20)。
接下来是一行正整数,共计 N 个,每个正整数的大小都不超过20。

输出描述

输出最大的质数。
如果不存在任何组合的和为质数,则输出“NO”。

同样比较简单。

#include <bits/stdc++.h>
using namespace std;
int n,mx=-1,sum,a[30],vis[30];
bool ck(int e){//质数的判断
    if(e<2)return 0;
    for(int i=2;i<=e/i;i++){
        if(e%i==0)return false;
    }
    return true;
}
void dfs(int x,int sum){
    if(ck(sum)){
        mx=max(mx,sum);
    }
    for(int i=x+1;i<=n;i++){
        sum+=a[i];//加上此位置的数
        vis[i]=1;//标记此数已被纳入
        dfs(i,sum);
        vis[i]=0;
        sum-=a[i];//回溯
    }
}
int main(){
    cin>>n;
    for(int i=1;i<=n;i++){
        cin>>a[i];
    }
    dfs(0,0);
    if(mx>0)cout<<mx;
    else cout<<"NO";
}


http://www.kler.cn/a/568929.html

相关文章:

  • 【基于Raft的KV共识算法】-序:Raft概述
  • JavaEE基础之- 过滤器和监听器Filter and Listener
  • Deepseek 模型蒸馏
  • 每日OJ_牛客_NC316体育课测验(二)_拓扑排序_C++_Java
  • FPGA开发,使用Deepseek V3还是R1(3):系统级与RTL级
  • Ubuntu 下 nginx-1.24.0 源码分析 - ngx_init_cycle 函数 - 详解(8)
  • Ubuntu 20.04 安装 Node.js 20.x、npm、cnpm 和 pnpm 完整指南
  • LangPrompt提示词
  • 基于单片机的GPS定位系统设计
  • ETF期权的结算价如何结算?
  • 深度解析Ant Design Pro 6开发实践
  • 【MySQL】(2) 库的操作
  • 基于STM32的智能家居中控系统
  • 【定昌Linux系统】部署了java程序,设置开启启动
  • AndroidStudio下载旧版本方法
  • 16.5 LangChain LCEL 流式处理解密:构建实时交互式大模型应用的引擎
  • 【实战 ES】实战 Elasticsearch:快速上手与深度实践-2.1.2字段类型选择:keyword vs text、nested对象
  • JavaWeb登录认证
  • 轻量级RTSP服务模块:内网高效音视频传输解决方案
  • 【无标题】词源故事:role与roll的联系,词根horr(恐惧)与hair(毛发)关系