【蓝桥杯】 数字诗意

数字诗意

在诗人的眼中,数字是生活的韵律,也是诗意的表达。

小蓝,当代顶级诗人与数学家,被赋予了”数学诗人”的美誉。他擅长将冰冷的数字与抽象的诗意相融合,并用优雅的文字将数学之美展现于纸上。

某日,小蓝静坐书桌前,目光所及,展现着 n 个数字,它们依次为 a1,a2,…,an,熠熠生辉。

小蓝悟到,如果一个数能够以若干个(至少两个)连续的正整数相加表示,那么它就蕴含诗意。

例如,数字 6 就蕴含诗意,因为它可以表示为 1+2+3。

而 8 则缺乏诗意,因为它无法用连续的正整数相加表示。

小蓝希望他面前的所有数字都蕴含诗意,为此,他决定从这 n 个数字中删除一部分。

请问,小蓝需要删除多少个数字,才能使剩下的数字全部蕴含诗意?

输入格式

第一行包含一个整数 n,表示展示的数字个数。

第二行包含 n 个整数 a1,a2,…,an,表示展示的数字。

输出格式

输出一个整数,表示小蓝需要删除的数字个数,以使剩下的数字全部蕴含诗意。

数据范围

对于 30% 的评测用例,1≤n≤ 1 0 3 10^3 103,1≤ai≤ 1 0 3 10^3 103
对于所有评测用例,1≤n≤2× 1 0 5 10^5 105,1≤ai≤ 1 0 16 10^{16} 1016

输入样例:
3
3 6 8
输出样例:
1
样例解释

在样例中,数字 3 可以表示为 1+2,数字 6 可以表示为 1+2+3,数字 8 无法表示为连续的正整数相加,因此,需要删除的数字个数为 1。

【思路分析】

看到这一题我的第一直觉就是用二进制每一位的权值不能表示成连续的正整数相加

于是打表玩了一把

2 0 2^0 20 = 1 (x)

2 1 2 ^ 1 21 = 2 (x)

3 = 1 + 2 (√)

2 2 2^2 22 = 4 (x)

5 = 2 + 3 (√)

6 = 1 + 2 + 3 (√)

7 = 3 + 4(√)

2 3 2^3 23 = 8 (x)

貌似还真的是这样,那么也就是说只有包含奇数因子的数才可以分成连续的正整数相加

我们证明一下

设数N不含有奇数质因子,那么N可以表示为 N = 2 k 2^k 2k,其中k为正整数。

假设N可以分解为m个连续正整数的和,设这m个连续正整数中最小的数为n,则这m个连续正整数的和为:
S = n + ( n + 1 ) + ( n + 2 ) + . . . + ( n + m − 1 ) S = n + (n+1) + (n+2) + ...+(n + m -1) S=n+(n+1)+(n+2)+...+(n+m1)

等差数列求和
S = m ( 2 n + m − 1 ) 2 S = \frac{m(2n+m-1)}{2} S=2m(2n+m1)
如果m是奇数,那么 2n+m - 1是偶数 S = m ( 2 n + m − 1 ) 2 S = \frac{m(2n+m-1)}{2} S=2m(2n+m1)中,m为奇数因子,这与N不含有奇数质因子矛盾。

如果m是偶数,设 m = 2p(p为正整数),则 S = p(2n + 2p + 1)

因为2n + 2p + 1为奇数,若S = N = 2 k 2^k 2k (不含奇数因子的数),此时 2n + 2p + 1 为其中一个奇数因子,这与N不含有奇数因子矛盾。

所以证得如果一个数能够分解为连续个正整数相加,那么这个数一定包含奇数因子

import java.io.*;
import java.util.*;
public class Main {public static void main(String[] args) throws Exception {BufferedReader br = new BufferedReader(new InputStreamReader(System.in));int n = Integer.parseInt(br.readLine());long res = 0;String[] data = br.readLine().split(" ");for(int i = 0; i < n; i++) {long d = Long.parseLong(data[i]);while(d % 2 == 0) {d /= 2;}if(d == 1) {res++;}}System.out.print(res);br.close();}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/78707.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

DHCP 服务器运行流程图

以常见的 DHCP v4 为例,其完整流程如下: 一、客户端请求 IP 地址阶段 DHCPDiscover:客户端启动后,会以广播的形式发送 DHCPDiscover 报文,目的是在网络中寻找可用的 DHCP 服务器。该报文中包含客户端的 MAC 地址等信息,以便服务器能够识别客户端。DHCPOffer:网络中的 D…

一种企业信息查询系统设计和实现:xujian.tech/cs

一种企业信息查询系统设计和实现&#xff1a;xujian.tech/cs 背景与定位 企业在对外合作、风控审查或市场调研时&#xff0c;常需快速获取公开的工商信息。本文介绍一个企业信息搜索引擎&#xff0c;面向普通用户与开发者&#xff0c;帮助快速定位企业名称、统一社会信用代码…

前端面试高频算法

前端面试高频算法 1 排序算法&#xff1b;1.1 如何分析一个排序算法1.1.1 执行效率3.1.2 内存消耗1.1.3 稳定性 1.2 冒泡排序&#xff08;Bubble Sort&#xff09;1.3 插入排序&#xff08;Insertion Sort&#xff09;1.4 选择排序&#xff08;Selection Sort&#xff09;1.5 归…

C++初阶-模板初阶

目录 1.泛型编程 2.函数模板 2.1函数模板概念 2.2实现函数模板 2.3模板的原理 2.4函数模板的实例化 2.4.1隐式实例化 2.4.2显式初始化 2.5模板参数的匹配原则 3.类模板 3.1类模板定义格式 3.2类模板的实例化 4.总结 1.泛型编程 对广泛的类型法写代码&#xff0c;我…

「Mac畅玩AIGC与多模态02」部署篇01 - 在 Mac 上部署 Ollama + Open WebUI

一、概述 本篇介绍如何在 macOS 环境下本地部署 Ollama 推理服务,并通过 Open WebUI 实现可视化交互界面。该流程无需 CUDA 或专用驱动,适用于 M 系列或 Intel 芯片的 Mac,便于快速测试本地大语言模型能力。 二、部署流程 1. 环境准备 安装 Homebrew(如尚未安装):/bin…

JavaScript 中 undefined 和 not defined 的区别

在 JavaScript 的调试过程中&#xff0c;你是否经常看到 undefined 却不知其来源&#xff1f;是否曾被 ReferenceError: xxx is not defined 的错误提示困扰&#xff1f;这两个看似相似的概念&#xff0c;实际上是 JavaScript 类型系统中最重要的分水岭。本文将带你拨开迷雾&am…

django admin AttributeError: ‘UserResorce‘ object has no attribute ‘ID‘

在 Django 中遇到 AttributeError: ‘UserResource’ object has no attribute ‘ID’ 这类错误通常是因为你在代码中尝试访问一个不存在的属性。在你的例子中&#xff0c;错误提示表明 UserResource 类中没有名为 ID 的属性。这可能是由以下几个原因造成的&#xff1a; 拼写错…

对鸿蒙 Next 系统“成熟论”的深度剖析-优雅草卓伊凡

对鸿蒙 Next 系统“成熟论”的深度剖析-优雅草卓伊凡 在科技飞速发展的当下&#xff0c;鸿蒙 Next 系统无疑成为了众多科技爱好者与行业人士关注的焦点。今日&#xff0c;卓伊凡便收到这样一个饶有趣味的问题&#xff1a;鸿蒙 Next 系统究竟需要多长时间才能完全成熟&#xff…

快速上手GO的net/http包,个人学习笔记

更多个人笔记&#xff1a;&#xff08;仅供参考&#xff0c;非盈利&#xff09; gitee&#xff1a; https://gitee.com/harryhack/it_note github&#xff1a; https://github.com/ZHLOVEYY/IT_note 针对GO中net/http包的学习笔记 基础快速了解 创建简单的GOHTTP服务 func …

AI-Browser适用于 ChatGPT、Gemini、Claude、DeepSeek、Grok的客户端开源应用程序,集成了 Monaco 编辑器。

一、软件介绍 文末提供程序和源码下载学习 AI-Browser适用于 ChatGPT、Gemini、Claude、DeepSeek、Grok、Felo、Cody、JENOVA、Phind、Perplexity、Genspark 和 Google AI Studio 的客户端应用程序&#xff0c;集成了 Monaco 编辑器。使用 Electron 构建的强大桌面应用程序&a…

Dify框架面试内容整理-Dify如何处理知识库的集成?

Dify 在知识库集成方面采用了“检索增强生成(RAG)”的技术架构,核心实现思路如下: 一、知识库集成的整体流程 Dify处理知识库集成通常包括以下关键步骤: 文档上传↓

Laravel 模型使用全局作用域和局部作用域

一. 需要解决什么问题 最近Laravel 项目中遇到一个需求&#xff0c;我有一个客户表&#xff0c;每个员工都有自己的客户&#xff0c;但是自己只能看自己的客户。 项目中&#xff0c;有很多功能需要查询客户列表&#xff0c;客户详情&#xff0c;查询客户入口很多&#xff0c;…

【Nova UI】十二、打造组件库之按钮组件(上):迈向功能构建的关键一步

序言 在上一篇文章中&#xff0c;我们深入探索了 icon 组件从测试到全局注册的全过程&#x1f3af;&#xff0c;成功为其在项目中稳定运行筑牢了根基。此刻&#xff0c;组件库的建设之旅仍在继续&#xff0c;我们将目光聚焦于另一个关键组件 —— 按钮组件。按钮作为用户与界面…

鸿蒙OSS文件(视频/图片)压缩上传组件-能够增删改查

一、鸿蒙实现处理-压缩上传整体代码处理逻辑 转沙箱压缩获取凭证并上传文件 文件准备&#xff08;拿到文件流&#xff09;获取上传凭证&#xff08;调接口1拿到file_name和upload_url&#xff09;执行文件上传&#xff08;向阶段2拿到的upload_url上传文件&#xff09;更新列表…

河道流量监测,雷达流量计赋能水安全智慧守护

在蜿蜒的河道之上&#xff0c;水流的脉搏始终与人类文明的兴衰紧密相连。从农田灌溉的水量调配到城市防洪的精准预警&#xff0c;从生态保护的水质溯源到水资源管理的决策&#xff0c;河道流量监测如同大地的 “血管检测”&#xff0c;是守护水安全的第一道防线。传统监测手段在…

CSS3 基础(边框效果)

一、边框效果 属性功能示例值说明border-radius创建圆角border-radius: 20px;设置元素的圆角半径&#xff0c;支持像素&#xff08;px&#xff09;或百分比&#xff08;%&#xff09;。值为 50% 时可变为圆形。box-shadow添加阴影box-shadow: 5px 5px 15px rgba(0, 0, 0, 0.5)…

零基础小白如何上岸数模国奖

零基础小白如何上岸数模国奖 我自己本人第一次参加数模国赛顺利上岸国奖&#xff0c;当然那段经历也是比较痛苦了&#xff0c;差不多也是从当年四月开始接触数学建模&#xff0c;第一次参加妈妈杯成绩并不理想&#xff0c;后面不断参加数模比赛进行模拟&#xff0c;最后顺利上岸…

SQL学习-常用函数

常见SQL函数使用 &#xff08;注意&#xff1a;不同的数据库类型使用的语法不同&#xff09; 以下是MySQL和PostgreSQL在实现替换、抽取、拼接、分列四个常见字符串操作功能时的核心区别总结&#xff0c;按功能分类对比&#xff1a; 1. 替换&#xff08;Replace&#xff09; …

rt-linux下的cgroup cpu的死锁bug

一、背景 rt-linux系统有其非常大的实时性的优势&#xff0c;但是与之俱来的是该系统上有一些天然的缺陷。由于rt-linux系统允许进程在内核态执行的逻辑里&#xff0c;在持锁期间&#xff0c;甚至持spinlock锁期间&#xff0c;都能被其他进程抢占。这一特性能带来实时性的好处…

java—12 kafka

目录 一、消息队列的优缺点 二、常用MQ 1. Kafka 2. RocketMQ 3. RabbitMQ 4. ActiveMQ 5. ZeroMQ 6. MQ选型对比 适用场景——从公司基础建设力量角度出发 适用场景——从业务场景角度出发 四、基本概念和操作 1. kafka常用术语 2. kafka常用指令 3. 单播消息&a…