题目数量-递推

【问题描述】

  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;
}
复制代码

 

posted @   Hi,小董先生  阅读(568)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示