我们要求找出具有下列性质数的个数包含输入的自然数 n先输入一个自然数 nn≤1000然后对此自然数按照如下方法进行处理1不作任何处理;2在它的左边加上一个自然数但该自然数不能超过原数的一半;3加上数后继续按此规则进行处理直到不能再加自然数为止。输入样例 6输出样例 6用c++编写代码编写完后将n为6作为输入并告诉我输出结果n=6的时候这段代码的输出是2还是6?
代码如下:
#include
int count(int n, int max_add) { if (n == 0) { return 1; } int res = 0; for (int i = 1; i <= min(n, max_add); i++) { res += count(n - i, i); } return res; }
int main() { int n; cin >> n; cout << count(n, n) << endl; return 0; }
当n为6时,输出结果为6。
原文地址: https://www.cveoy.top/t/topic/bb9e 著作权归作者所有。请勿转载和采集!