2483: TooY0ung的等差数列(语法周赛 Round 13(简单场))
内存限制:256 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:21
解决:9
题目描述
最近 TooY0ung 风评被害,学生们老是觉得 TooY0ung 是毒瘤出题人。
是时候挽回一下自己的良心出题人名声了。
数列,指的就是一串数字,数字的数量需要大于等于 。
等差数列是数列中极为特殊的一种数列,他的规律是相邻数字的差都相等。
比如, 就是一个很经典的等差数列,他们的公差为 。 公差指的就是相邻数字的差,由于所有相邻数字的差都一样,所以这个差是公共的,我们称其为公差。
其实这个东西同学们都学过,比如同学们小学都学过,如何计算 的和,这其实就是著名的高斯求和问题。
算前 数字的和就是 。
我们称等差数列中的第一项为首项,最后一项为末项,数列中的数字个数为项数。
求等差数列和的公式其实就是首项与末项的和 项数再除以2
现在, TooY0ung 给出一个数字 ,请你输出一个等差数列,使得该等差数列的和为 。
输入
一行一个整数 。输入数据保证有解。
输出
输出包含两行,第一行输出一个数字 ,表示等差数列的长度(项数)。
注意 不能太大,否则会导致输出超限、超时或运行时错误。
第二行输出一行在 int 范围内的数字,代表该等差数列。
答案不一定唯一,没关系,良心的 TooY0ung 会检测你的数列是否正确!
样例输入 复制
6
样例输出 复制
3
1 2 3
提示
6
3
1 2 3
36
8 1 2 3 4 5 6 7 8 6 1 3 5 7 9 11 3 1 12 23
数据规模与约定
对于 的数据,保证 在 int 范围内,即 ,输入数据保证有解。
- 子任务 1(30 分):保证输入的 是 中的一个数字
- 子任务 2(30 分):保证输入的 是正数。
- 子任务 3(40 分):没有特殊限制。
- (原题目过于简单,只要分成两个数就过100分,为加强编程,现补充说明:)
- 数列的数量不少于3个,这样才符合数列的意思;
- 正数规定从1开始数列,负数从-1开始数列;
- 输出的解从多到时少;
- 输出所有的可能的解;
- 数据范围调整为-10000000到10000000之间;