1. Job Roadmap
  2. Home
  3. Problem Set
  4. codenotelist
  5. Forum
  6. course
  7. Shore Share Sessions
  8. Record
  1. Login
  2. Sign Up
  3. Language
    1. English
    2. 한국어
    3. 简体中文
    4. 正體中文
    ZhContent TextSol AI分析

解题思路

本题要求用“只包含 1 和合数”的数组凑出给定整数 nnn,并使数组长度最短(长度至少为 2)。 做法属于构造 + 数论 + 贪心:为了最短,优先尝试用 2 个数完成(因为长度不能为 1)。若不能,再用 3 个或更多。

关键观察(合数定义:大于 1 且有除 1 和自身外的正因子):

  1. 若 nnn 为奇数且 n≥5n \ge 5n≥5: n−1n-1n−1 为偶数且 ≥4\ge 4≥4,必为合数 ⇒ 直接取 [1,n−1][1, n-1][1,n−1],长度为 2(最优)。

P3749.第1题-长度最短的正整数

    1000ms Tried: 31 Accepted: 14 Difficulty: 3 所属公司 : 蚂蚁
    算法与标签>构造

题目内容

给定一个正整数 nnn 。请你找到一个长度至少为 222 的数组 aaa ,使得数组 aaa 中仅含 111 和合数(可以只包含 111,可以只包含合数,也可以同时有合数和 111 ),且 aaa 中所有元素的和为 nnn 。如果有多个满足条件的 aaa ,请输出长度最短的。如果有多个长度最短的 aaa ,你可以输出任意一个。注意,自测运行功能可能因此返回错误结果,请自行检查答案正确性。

【名词解释】

合数:大于 111 的正整数,且有除 111 和自身外的正因子。

输入描述

每个测试文件均包含多组测试数据。第一行输入一个整数 T(1≤T≤103)T(1 ≤ T ≤ 10^3)T(1≤T≤103) 代表数据组数,每组测试数据描述如下:

输入一行一个正整数 n(2≤n≤1018)n(2≤n≤ 10^{18})n(2≤n≤1018) 。

输出描述

对于每组测试数据,先输出一行一个正整数 kkk ,表示 aaa 的长度。在第二行输出 kkk 个整数,表示 aaa 中的元素。如果存在多个解决方案,您可以输出任意一个,系统会自动判定是否正确。注意,自测运行功能可能因此返回错误结果,请自行检查答案正确性。

样例1

输入

3
8
10
2

输出

2
4 4
2
1 9
2
1 1

登录后即可使用 AI 分析。

模式
倒计时时长
:

最长 10 小时 59 分;应用后按此时长重新开始。

提示:点击提交记录在左侧题面区域查看详情
题库
AI分析设置
留空使用官方API Key,每天有次数限制(自定义API Key仅限会员和管理员使用,不限次数)
会员和管理员可切换模型;切到 Kimi/智谱/通义/豆包时需填写对应供应商 API Key
升级会员,可将运行与提交冷却时间缩短至 1 秒起

Status

  • Judging Queue
  • Service Status

Development

  • Open Source

Support

  • Help
  • Contact Us

About

  • About
  • Privacy
  • Terms of Service
  • Copyright Complaint
  1. Language
    1. English
    2. 한국어
    3. 简体中文
    4. 正體中文
  2. Legacy mode
  3. Theme
    1. Light
    2. Dark
  1. 京ICP备2025123107号-1
  2. Worker 1, 72ms
  3. Powered by Hydro v5.0.0-beta.18 Community
CLOSE


ScanQRCodePrompt

请使用微信扫描下方二维码完成注册

Forgot password or username?