华为OD-D卷数的分解
给定一个正整数n,如果能够分解为m(m > 1)个连续正整数之和,请输出所有分解中,m最小的分解。
如果给定整数无法分解为连续正整数,则输出字符串"N"。
输入描述:
输入数据为一整数,范围为(1, 2^30]
输出描述:
比如输入为:
21
输出:
21=10+11
备注:
21可以分解的连续正整数组合的形式有多种
21=1+2+3+4+5+6
21=6+7+8
21=10+11
输出,21=10+11,是最短的分解序列。
题目解析:如果是奇数就很简单,一定能找到相邻的两个数相加为 n,那么剩下的数该怎么处理呢?
因为要找到连续的正整数,而且m最小,那么即使有多种分解方法,在这个m里面的分解数里一定存在所有分解方法中最大的数,例如15可以分为(1+2+3+4+5),或者(4+5+6),那么我们找的结果中包含m中会存在这个最大的6。
这样就好办了,我们只需要从15/2->1开始算,这个最大的数是多少,不断的去试,7可以吗,要保证连续7+6=13<15,再加,7+6+5>18,显然不行。
import java.util.Deque;
import java.util.LinkedList;
import java.util.Scanner;public class Main {public static void main(String[] args) {
// int n = 10;Scanner scanner = new Scanner(System.in);int n = scanner.nextInt();// n 为奇数// deque前后都可以取元素,方便Deque<Integer> deque = new LinkedList<>();// 标识位,看是否可以拆解成连续数相加boolean flag = false;// n为奇数if (n % 2 == 1) {System.out.println(n + "=" + n / 2 + "+" + (n / 2 + 1));return;} else {// n为偶数int start = n / 2;int sum = 0;// 从大数开始试for (int i = start; i > 0; i--) {deque.add(i);sum += i;if (sum == n) {flag = true;break;} else if (sum > n) {sum -= deque.peek();deque.poll();}}}// 不能拆解输出"N"if(flag == false){System.out.println("N");return;}// 可以的话从deque中取元素出来,注意顺序System.out.print(n + "=");while (deque.size() > 1) {System.out.print(deque.pollLast());System.out.print("+");}System.out.println(deque.pollLast());}
}
相关文章:
华为OD-D卷数的分解
给定一个正整数n,如果能够分解为m(m > 1)个连续正整数之和,请输出所有分解中,m最小的分解。 如果给定整数无法分解为连续正整数,则输出字符串"N"。 输入描述: 输入数据为一整数,范围为(1, 2^3…...
rk3588 low_delay_net_display注意事项
low_delay_net_display例子默认只支持YUV420和RGB888,如果需要支持YUV422,请添加下面部分: rk3588_nvr/build/app/low_delay_net_display$ git diff v4l2HdmiRX.cpp diff --git a/app/low_delay_net_display/v4l2HdmiRX.cpp b/app/low_delay_net_displa…...
Spring Boot 快速入门样例【后端 3】
Spring Boot 入门:从零到一构建你的第一个应用 Spring Boot 作为一个流行的Java框架,以其“习惯优于配置”的理念极大地简化了Spring应用的开发和部署过程。本文将带你一步步创建一个简单的Spring Boot应用,从环境准备到项目创建,…...
Linux云计算 |【第二阶段】NETWORK-DAY2
主要内容: VLAN技术、TRUNK模式、链路聚合、路由器 一、VLAN技术应用 广播域指接受同样广播消息的节点的集合,如在该集合中的任何一个节点传输一个广播帧,则所有其它能收到这个帧的节点都被认为是该广播帧的一部分; 交换机的所有…...
Java面试题(基础篇)③
目录 一, 与 equals 的区别? 二,接口和抽象类的区别? 三,请说出几个常见的异常? 四,请问你对Java 反射有了解吗? 五,浅拷贝和深拷贝区别? 一,…...
Qt动态调用 - QMetaObject::invokeMethod
QMetaObject::invokeMethod 动态调用是 Qt 的元对象系统的一项强大功能,它允许在运行时通过名称调用槽函数、信号和普通成员函数。 这种能力对于构建灵活和可扩展的应用程序非常有用,比如插件系统或脚本接口。 动态调用方法 Qt 提供了 QMetaObject::i…...
html+css+js网页设计 星享咖啡6个页面(带js) ui还原度90%
htmlcssjs网页设计 星享咖啡6个页面(带js) ui还原度90% 网页作品代码简单,可使用任意HTML编辑软件(如:Dreamweaver、HBuilder、Vscode 、Sublime 、Webstorm、Text 、Notepad 等任意html编辑软件进行运行及修改编辑等…...
docker上传镜像至阿里云
1、安装wsl2 WSL2安装(详细过程) 2、安装docker Docker在Windows下的安装及使用 3、创建私人阿里云镜像库 如何创建私人阿里云镜像仓库?(保姆级) 4、如何删除容器 (1) 查找正在使用该图像的容器 docker ps -a --filte…...
POS刷卡开发源码之语音播报-CyberWinApp-SAAS 本地化及未来之窗行业应用跨平台架构
一、终端语音提醒的好处 1. 增强信息传递的有效性:在人们忙碌或者注意力分散时,语音提醒能够直接穿透噪音和干扰,确保重要信息被准确接收。 2. 提高操作的便捷性:用户无需停下手中的工作去查看屏幕或阅读文字,直接通过…...
jupyter notebook魔法命令
%xmode 魔法命令来控制异常报告: 输入魔法命令:在 IPython 或 Jupyter Notebook 的一个新单元格中,输入以下命令之一来设置异常报告模式: 切换到 Plain 模式(简洁输出): %xmode Plain切换回 Con…...
Mysql事件
1:查询全局事件开关是否启动 SHOW VARIABLES LIKE %sche%; 关闭状态!!!去开启如果已开启忽略 set global event_scheduler ON; ojbk 2:创建事件 step1: 链接打开自己的数据库 step2: 找…...
Unity Console 窗口输出对齐
起因:做了个工具在console窗口罗列一些信息,基本结构是 [ 文件名 :行号 ],因为文件,行号长度不一,想要做到如下效果。 初步尝试,用以下方法: string format "{0,-10} …...
leetcode198_打家劫舍
思路 动态规划 func rob(nums []int) int {if len(nums) < 2 {return nums[0]}// dp[i] 表示到第i家为止,小偷能够偷窃到的最高金额dp : make([]int, len(nums))dp[0] nums[0]dp[1] max(nums[0], nums[1])for i:2; i<len(nums); i {if nums[i] dp[i-2] &…...
C# 串口通讯怎么防止数据丢失
串口通信(Serial Communication)是计算机与设备之间进行数据交换的一种方式。在C#中进行串口通信时,防止数据丢失可以采取以下一些措施: 1.校验和(Checksum):在发送数据时,计算数据的…...
【机器学习】BP神经网络中的链式法则:解开智能背后的数学奥秘
在浩瀚的机器学习领域中,BP(反向传播)神经网络如同一座桥梁,连接着复杂的数据世界与智能的彼岸。而这座桥梁的基石之一,便是链式法则(Chain Rule)——一个看似简单却蕴含无限智慧的数学原理。今…...
MyBatis 基本操作 - 注解版
目录 一,查询 - select 1.1 全列查询 1.2 指定列查询 1.3 赋值问题 方法一:起别名 方法二:结果映射 方法三:添加配置 二,新增 - Insert 2.1 使用对象插入 2.2 获取主键 三,删除 - Delete 四&am…...
专业比例阀放大器配套选型
比例阀放大器作为液压系统中的关键组件,其技术选型对于保障系统的精确控制、稳定性和长期可靠性至关重要。下面将深入探讨比例阀放大器的技术选型要点,确保选型能满足特定的应用需求和系统性能要求: 兼容性与安装方式 阀型匹配:…...
Springboot 多数据源整合的三种方式
上链接:Springboot 多数据源整合的三种方式_springboot整合多数据源-CSDN博客...
【科研笔记】中国知网高级检索与专业检索针对同一检索内容返回的结果对比
中国知网高级检索与专业检索针对同一检索内容返回的结果对比 文献检索文献差集文献检索 预检索“复杂网络”和“事故”相关主题的文献,在高级检索界面中搜寻的结果如下,期刊选择为中文核心及以上,共检索138条文献 然后以专业检索,构建检索式“ (SU=‘事故’) AND (SU=‘复…...
C#-了解IOC控制反转及相关框架的使用
目录 一、了解IOC 1、概念 2、生命周期 二、使用 三、扩展-CommunityToolkit.Mvvm工具包 Messenger信使 方式一(收发消息) 方式二(收发消息) 方式三(请求消息) 一、了解IOC IOC,即控制…...
Whisper JAX终极错误排查手册:10个常见问题与快速解决方案 ⚡️
Whisper JAX终极错误排查手册:10个常见问题与快速解决方案 ⚡️ 【免费下载链接】whisper-jax JAX implementation of OpenAIs Whisper model for up to 70x speed-up on TPU. 项目地址: https://gitcode.com/gh_mirrors/wh/whisper-jax Whisper JAX是基于JA…...
oicq 高级技巧:如何构建企业级 QQ 机器人应用架构
oicq 高级技巧:如何构建企业级 QQ 机器人应用架构 【免费下载链接】oicq Tencent QQ Bot Library for Node.js 项目地址: https://gitcode.com/gh_mirrors/oi/oicq oicq 是一个基于 Node.js 的 QQ 协议库,专为构建稳定、高效的 QQ 机器人应用而设…...
线控转向系统 Carsim和Simulink联合仿真模型。 基于横摆角速度增益不变的变传动比模块。 图中分别为角阶跃工况 和 双移线工况 汽车对应的响应曲线,并且与Carsim自带的机械转向对比图。
线控转向系统 Carsim和Simulink联合仿真模型。 基于横摆角速度增益不变的变传动比模块。 图中分别为角阶跃工况 和 双移线工况 汽车对应的响应曲线,并且与Carsim自带的机械转向对比图。这是一个非常专业的汽车动力学控制仿真需求。要实现线控转向(SBW&am…...
3步快速上手:B站评论区智能成分检测工具完整指南
3步快速上手:B站评论区智能成分检测工具完整指南 【免费下载链接】bilibili-comment-checker B站评论区自动标注成分油猴脚本,主要为原神玩家识别 项目地址: https://gitcode.com/gh_mirrors/bi/bilibili-comment-checker 你是否曾在B站评论区看到…...
SEO优化与网站内链优化有什么区别_SEO优化的方法论有哪些
SEO优化与网站内链优化有什么区别 在现代数字营销中,SEO优化和网站内链优化是两个紧密相关但又各有侧重的领域。了解它们之间的区别,对于提升网站的整体流量和搜索引擎排名至关重要。本文将详细探讨这两者的不同之处,并为你提供一些SEO优化的…...
YOLOv11算法优化实战:从特征融合到动态推理的性能跃迁
1. YOLOv11算法核心优化方向 目标检测领域近年来最令人兴奋的进展之一,就是YOLO系列算法的持续进化。作为这个家族的最新成员,YOLOv11在保持实时性的同时,通过多项技术创新实现了检测精度的显著提升。但在实际工业应用中,我们发现…...
金融C++内存池测试必须绕开的7个反模式,92%的量化团队仍在踩坑!
第一章:金融C内存池测试的底层逻辑与行业特殊性金融系统对低延迟、高确定性及零内存碎片的严苛要求,使内存池(Memory Pool)成为高频交易、做市引擎与风控模块中不可或缺的基础设施。与通用堆分配器不同,金融C内存池的设…...
3分钟掌握Windows安卓应用安装:免费轻量级APK安装器完全指南
3分钟掌握Windows安卓应用安装:免费轻量级APK安装器完全指南 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 想在Windows电脑上直接运行安卓应用却不想安装…...
别再手动算坐标了!用Python的coord-convert库5分钟搞定高德/百度/WGS84互转
别再手动算坐标了!用Python的coord-convert库5分钟搞定高德/百度/WGS84互转 你是否曾在处理地理数据时,被不同地图平台的坐标系搞得焦头烂额?GPS设备采集的WGS84坐标无法直接在高德地图上显示,百度地图的坐标又和微信小程序不兼容…...
Pixel Couplet Gen一文详解:Retro Game UI与LLM春联生成融合方案
Pixel Couplet Gen一文详解:Retro Game UI与LLM春联生成融合方案 1. 项目概览 Pixel Couplet Gen是一款将传统春联文化与现代AI技术相结合的创新应用。通过ModelScope大模型驱动,我们打造了一个充满怀旧游戏风格的春联生成器,让用户在数字世…...
