测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A2187. 买蛋糕

编程题 提高+/省选-

题目描述

AC君过生日,大家当然会送礼物了(咳咳,没送礼物的同志注意了哈!!),由于不知道送什么好,又考虑到实用性等其他问题,大家决定合伙给AC君买一个生日蛋糕。大家不知道最后要买的蛋糕的准确价格,而只会给蛋糕估价,即要买一个不超过多少钱的蛋糕。众人借此发挥:能否用最少的钱币数去凑成估价范围内的所有价值,使得不管蛋糕价值多少,都不用找钱……

现在问题由此引出:对于一个给定的 $n$,能否用最少的不等的正整数去组成 $n$ 以内(包括 $n$)的所有的正整数呢?如果能,最少需要多少个正整数,用最少个数又有多少不同的组成方法呢?

输入格式

只有一行包含一个整数 $n\ (1\le n\le 1000)$。

输出格式

一行两个数,第一个数是最少需要多少个数,第二个数是用最少个数的组成方案个数。两个答案用空格分隔。

输入输出样例

输入 #1
6
输出 #1
3 2

说明/提示

最少用三个数,有两种方法,分别是:$1,2,3$ 和 $1,2,4$。

- 对于 $1,2,3$ 有 $1,2,3$,$1+3$,$2+3$,$1+2+3$;
- 对于 $1,2,4$ 有 $1$,$2$,$1+2$,$4$,$1+4$,$2+4$。
上一题 去做题 下一题