Bootstrap

华为OD机试统一考试D卷C卷 - 用连续自然数之和来表达整数( C++ Java JavaScript python C语言)

华为OD机考:统一考试 D卷 + C卷 + B卷 +A卷

真题目录:华为OD机考机试 真题目录(C卷 + D卷 + B卷 + A卷) + 考点说明

题目描述:用连续自然数之和来表达整数 (本题分值100)

一个整数可以由连续的自然数之和来表示。
给定一个整数,计算该整数有几种连续自然数之和的表达式,且打印出每种表达式

输入描述

一个目标整数T (1 <=T<= 1000)

输出描述

该整数的所有表达式和表达式的个数。如果有多种表达式,输出要求为:
自然数个数最少的表达式优先输出
每个表达式中按自然数递增的顺序输出,具体的格式参见样例。
在每个测试数据结束时,输出一行”Result:X”,其中X是最终的表达式个数。

ACM输入输出模式

如果你经常使用Leetcode,会知道letcode是不需要编写输入输出函数的。但是华为OD机考使用的是 ACM 模式,需要手动编写输入和输出。

所以最好在牛-客上提前熟悉这种模式。例如C++使用cin/cout,python使用input()/print()。JavaScript使用node的readline()console.log()。Java 使用sacnner/system.out.print()

用例1

输入

9

输出

9=9
9=4+5
9=2+3+4
Result:3

说明

整数 9 有三种表示方法,第1个表达式只有1个自然数,最先输出,
第2个表达式有2个自然数,第2次序输出,
第3个表达式有3个自然数,最后输出。
每个表达式中的自然数都是按递增次序输出的。
数字与符号之间无空格

用例2

输入

10

输出

10=10
10=1+2&
;