题目数量-递推
【问题描述】
n名同学争做计算题,规定做完一道才能做第二道,比赛后统计发现:第一位同学做了总数的一半多1道,第二位同学做了余下的一半多2道,第三位同学做了再余下的一半多3道,以此类推,第n-1位同学做了余下的一半多n-1道,最后一位同学做了n道。输入学生的数量n,求共有多少道题目?
【输入样例】
4
【输出样例】
66
#include<iostream> using namespace std; int sum; int question(int n){ sum=n; if(n==1) return sum; for(int i=1; i<n; i++){ sum=(sum+n-i)*2; // 递推表达式。 } return sum; } int main(){ int n; cin>>n; cout<<question(n); return 0; }

浙公网安备 33010602011771号