编程题

拆分正整数

编程实现:

给定一个正整数 n,将 n 拆成一组各不相同的正整数,使得这组正整数的个数大于等于 2 且总和为 n。

请计算有多少种不同的拆法;如果不能按要求拆分,输出 0。

注意:几种拆法中,如果包含的整数完全相同,仅顺序不同,则视为同一种拆法。例如:{1, 2, 3}、{2, 1, 3} 和 {3, 2, 1} 被视为同一种拆法。

例如:n = 6;满足要求的拆法有以下 3 种:

第一种:{1, 5};

第二种:{2, 4};

第三种:{1, 2, 3}。

输入描述:

输入一个正整数 n(1≤正整数≤90)。

输出描述:

输出一个整数,表示有多少种拆法满足要求。

 

样例输入:

6

样例输出:

3

查看答案
赣ICP备20007335号-2