当前位置: 首页 > 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;
}

相关文章:

  • 基于Uniapp开发HarmonyOS 5.0旅游应用技术实践
  • 苍穹外卖--缓存菜品
  • 技术栈RabbitMq的介绍和使用
  • 脑机新手指南(七):OpenBCI_GUI:从环境搭建到数据可视化(上)
  • 20250609在荣品的PRO-RK3566开发板的Android13下解决串口可以执行命令但是脚本执行命令异常的问题
  • Qt开发输入法-接Qt 相关 编译流程及交叉编译 部署所遇到的问题总结
  • 【Qt】控件 QWidget
  • MySQL 知识小结(一)
  • Zabbix 高可用架构部署方案(2最新版)
  • 板凳-------Mysql cookbook学习 (十--3)
  • 轻量安全的密码管理工具Vaultwarden
  • 第三章 3.1 传感器安全
  • DAP-seq测序(DNA亲和纯化测序)!
  • 西电计组第五章-指令系统
  • LeetCode Hot100刷题——合并两个有序链表
  • LeetCode 0386.字典序排数:细心总结条件
  • 【动态规划】B4336 [中山市赛 2023] 永别|普及+
  • (12)-Fiddler抓包-Fiddler设置IOS手机抓包
  • IDEA运行VUE项目报错相关
  • Trace32 远程调试无法连接问题分析------解决方案
  • 中国防疫政策马上要变化了/公司网站优化
  • 做外贸网站案例/怎么样建一个网站
  • 15年做那个网站致富/宁德市教育局官网
  • 抢车票网站怎么做/信息发布平台推广有哪些
  • 个人建设网站/网络平台推广有哪些渠道
  • 百度怎么免费做网站/媒体发稿公司