问题 D: 连续拆分

问题 D: 连续拆分

[命题人 : ]
时间限制 : 1.000 sec  内存限制 : 256 MiB

题目描述

题目描述

我们希望将一个正整数 拆分成若干个连续的正整数的和,例如 n= 18 时:

18 = 3 + 4 + 5 + 6

就是一种拆分方法。给定一个正整数 n,请找出所有的连续整数拆分方法,注意一种合法的拆分至少需要两项连续的整数。

输入格式

单个整数:表示正整数 n

输出格式

若不存在任何拆分方案,输出 None

若有多个拆分方案,不同方案用换行隔开,先输出项数多的拆分方案。

每个拆分方案,应输出一个从小到大的连续正整数序列,每个数字之间用空格隔开。

数据范围

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

对于 60% 的数据,1≤n≤104

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

样例数据

输入:

15

输出:

1 2 3 4 5

4 5 6

7 8

输入:

4

输出:

None