1.练习项目:
题目描述
输入一个自然数 n (n≤1000),我们对此自然数按照如下方法进行处理:
-
不作任何处理;
-
在它的左边加上一个自然数,但该自然数不能超过原数的一半;
-
继续按照规则2添加,但是添加的数不能超过上一次添加数的一半,直到不能添加为止。
问总共可以产生多少个数。
输入描述
输入一个正整数 n。
输出描述
输出一个整数,表示答案。
2.选择课程
在蓝桥云课中选择题库,选择题号760并开始练习。
3.开始练习
(1)源码:
#include<bits/stdc++.h>
using namespace std;
const int N=20;
int a[N];
int dfs(int dep)
{
int res=1;
for(int i=1;i<=a[dep-1]/2;i++){
a[dep]=i;
res+=dfs(dep+1);
}
return res;
}
int main()
{
int n;
cin>>n;
a[1]=n;
cout<<dfs(2)<<'\n';
return 0;
}
(2)检验结果
对此代码进行检验,检验后无报错,提交此代码,判题结果为正确100分。
(3)练习心得:注意每段代码末尾的分号是否存在,如不存在则需即使补充;输入法是否切换为英语模式;语法是否错误。