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

蓝桥杯第十届国B 质数拆分

题目描述

本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。

将 2019 拆分为若干个两两不同的质数之和,一共有多少种不同的方法?

注意交换顺序视为同一种方法,例如 2+2017=2019 与 2017+2=2019 视为同一种方法。

方法:动态规划(0-1背包问题)

这个问题可以转化为 0-1背包问题

  • 背包容量 = 2019

  • 物品 = 所有小于 2019 的质数(每个质数只能选或不选)

  • 目标:求恰好装满背包的组合数

#include<iostream>
#include<cmath>
using namespace std;#define int long long int a[2020];
int dp[2020];  //dp[j]表示和为j的组合数 bool prime(int x)
{if(x<2) return 0;if(x==2) return 1;for(int i=2; i<=sqrt(x); ++i){if(x%i==0) return 0;}return 1;
}signed main()
{int cnt = 0;  //记录质数的数量 for(int i=2; i<=2019; ++i){if(prime(i)){a[cnt] = i;cnt++;}}dp[0] = 1;  //初始条件:和为0的组合数为1for(int i=0; i<cnt; ++i){for(int j=2019; j>=a[i]; j--){dp[j] += dp[j - a[i]];} }cout<<dp[2019];return 0;
}
http://www.xdnf.cn/news/952219.html

相关文章:

  • 深入解析 ReentrantLock:原理、公平锁与非公平锁的较量
  • DreamO字节开源图像编辑框架
  • IDC智能机房整体解决方案
  • 华为云Flexus+DeepSeek征文|基于华为云一键部署Dify平台,接入DeepSeek大模型,构建数据可视化助手应用实战指南
  • ubuntu22.04 安装docker 和docker-compose
  • windows系统MySQL安装文档
  • 【深度学习新浪潮】什么是credit assignment problem?
  • 编程工具点亮效率之光
  • 九、MySQL执行原理
  • OPenCV CUDA模块光流处理------利用Nvidia GPU的硬件加速能力来计算光流类cv::cuda::NvidiaHWOpticalFlow
  • 【SpringBoot】100、SpringBoot中使用自定义注解+AOP实现参数自动解密
  • MAZANOKE结合内网穿透技术实现跨地域图像优化服务的远程访问过程
  • 零基础设计模式——行为型模式 - 命令模式
  • 使用地球观测数据优化云到 GPU 的吞吐量以进行深度学习
  • rm视觉学习1-自瞄部分
  • 使用python进行图像处理—图像标识与NumPy(3)
  • 【PDF识别改名】PDF指定区域OCR识别重命名工具使用教程和注意事项
  • 前缀和题目:寻找数组的中心下标
  • NoSQL 之 Redis 集群
  • JS红宝书笔记 10.6 - 10.10 函数
  • 树莓派超全系列教程文档--(60)树莓派摄像头操作命令及使用其一
  • Cyber Weekly #59
  • 如何在网页里填写 PDF 表格?
  • MyBatis中关于缓存的理解
  • Spring Framework 6:核心升级特性
  • 2023赣州旅游投资集团
  • OptiStruct结构分析与工程应用:传递路径贡献量分析(TPA)
  • 接口 RESTful 中的超媒体:REST 架构的灵魂驱动
  • 数据集分享 | MOT17数据集、UAVDT数据集
  • qt 双缓冲案例对比