A25649. 整数拆分编程实现给定一个整数n,将n分成两个正整数,使得两个正整数的和等于n且尽可能接近。输入描述输入一个整数n(3≤n≤1000)输出描述按从小到大的顺序输出两个正整数,整数之间以一个空格隔开样例输入5样例输出2 3
填空题
容易
知识点
题目描述
整数拆分
编程实现
给定一个整数n,将n分成两个正整数,使得两个正整数的和等于n且尽可能接近。
输入描述
输入一个整数n(3≤n≤1000)
输出描述
按从小到大的顺序输出两个正整数,整数之间以一个空格隔开
样例输入
5样例输出
2 3参考答案
n = int(input().strip())
a = n // 2
b = n - a
print(f"{a} {b}")答案解析
输入处理:读取整数n。
计算拆分:
a = n // 2:使用整数除法得到较小的数(向下取整)。
b = n - a:计算另一个数,确保a + b = n。
输出结果:按从小到大的顺序输出a和b。
样例验证
样例输入:5
计算过程:a = 5 // 2 = 2,b = 5 - 2 = 3
输出:2 3(符合样例)
输入:4
计算过程:a = 4 // 2 = 2,b = 4 - 2 = 2
输出:2 2(符合题目要求)
此方案时间复杂度为O(1),高效且正确满足题目要求。
上一题
下一题