2698: T4-TooY0ung的等差数列

内存限制:128 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:22 解决:10

题目描述

**最近 TooY0ung 风评被害,学生们老是觉得 TooY0ung 是毒瘤出题人。**

**是时候挽回一下自己的良心出题人名声了。**

数列,指的就是一串数字,数字的数量需要大于等于 $1$。

等差数列是数列中极为特殊的一种数列,他的规律是相邻数字的差都相等。

比如,$1,3,5,7,9$ 就是一个很经典的等差数列,他们的公差为 $2$ 。 公差指的就是相邻数字的差,由于所有相邻数字的差都一样,所以这个差是公共的,我们称其为公差。

其实这个东西同学们都学过,比如同学们小学都学过,如何计算 $1+2+3+4+...+100$ 的和,这其实就是著名的**高斯求和**问题。

算前 $100$ 数字的和就是 $( 1+100)*100/2$ $=$ $5050$。

我们称等差数列中的第一项为首项,最后一项为末项,数列中的数字个数为项数。

求等差数列和的公式其实就是**首项与末项的和** $*$ **项数再除以2**

现在, TooY0ung 给出一个数字 $X$ ,请你输出一个等差数列,使得该等差数列的和为 $X$ 。

输入

一行一个整数 $X$。输入数据保证有解。

输出

输出包含两行,第一行输出一个数字 $n$ ,表示等差数列的长度(项数)。

注意 $n$ 不能太大,否则会导致输出超限、超时或运行时错误。

第二行输出一行在 int 范围内的数字,代表该等差数列。

因答案有很多,因此只需要求 n 最小的情况即可。

样例输入 复制

6

样例输出 复制

1
6

提示

## 数据规模与约定

对于 $100\%$ 的数据,保证 $X$ 在 int 范围内,即$-2^{31} \le X \le 2^{31}-1$ ,输入数据保证有解。

- 子任务 1(30 分):保证输入的 $X$ 是 $9,16,25,36$ 中的一个数字
- 子任务 2(30 分):保证输入的 $X$ 是正数。
- 子任务 3(40 分):没有特殊限制。

来源/分类