NOIP2026 全国青少年信息学奥林匹克联赛普及组复赛试题及详细题解.docxVIP

  • 1
  • 0
  • 约5.62千字
  • 约 12页
  • 2026-10-13 发布于河北
  • 举报

NOIP2026 全国青少年信息学奥林匹克联赛普及组复赛试题及详细题解.docx

NOIP2026全国青少年信息学奥林匹克联赛普及组复赛试题及详细题解

考试时长:4小时满分:400分题目数量:4道

答题说明:

1.所有题目均为传统题,需要提交标准C++程序源代码;

2.输入输出严格按照题目格式,不得输出多余字符、空格、换行;

3.程序需保证数据范围全覆盖,超时、内存超限、答案错误均不得分;

4.不使用特殊编译器指令,禁止文件读写,仅使用标准输入输出。

第一题数字拆分(100分)

题目描述

给定一个正整数n,我们可以将其拆分为若干个互不相同的正整数之和。

定义合法拆分:拆分后的所有数字互不重复,且总和恰好等于n。

现在请求出,对于给定的n,能拆分出的最多数字个数。

输入格式

一行一个正整数n。

输出格式

一行一个整数,表示最大拆分数量。

数据范围

对于30%的数据,1≤n≤100;

对于60%的数据,1≤n≤10000;

对于100%的数据,1≤n≤10

样例输入1

7

样例输出1

3

样例解释1

最优拆分:1+2+4=7,共3个数,无法拆出4个不同正整数。

样例输入2

10

样例输出2

4

样例解释2

最优拆分:1+2+3+4=10,共4个数。

详细题解

想要拆分出最多的数字,核心思路是优先选用最小的互不相同正整数,也就是从1开始依次累加,直到总和接近n。

设累加1+2+3+...+k的和为sum=k×(k+1)/

1

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档