【题目链接】

ybt 1158:求1+2+3+…

【题目考点】

1. 递归

【解题思路】

解法1:递归

  • 递归问题:求1+2+…+k的和
  • 递归关系:如果想求1+2+…+k的和,需要先求1+2+…+k-1的和,再加上k
  • 递归出口:1加到1的和为1

解法2:递推

  • 递推状态:a[i]为1+2+…+i的和
  • 递推关系:a[i] = a[i-1] + i;
  • 初始状态:a[1] = 1

解法3:迭代

常规做法

【题解代码】

解法1:递归

#include<bits/stdc++.h>
using namespace std;
int sum(int k)//求1+2+...+k的和
{if(k == 1)return 1;elsereturn k + sum(k - 1);
}
int main()
{int n;cin >> n;cout << sum(n);return 0;
}

解法2:递推

#include<bits/stdc++.h>
using namespace std;
int main()
{int n, a[1005];//a[i]:1+2+...+i的和cin >> n;a[1] = 1;for(int i = 2; i <= n; ++i)a[i] = a[i-1] + i;cout << a[n];return 0;
}

解法3:迭代

#include<bits/stdc++.h>
using namespace std;
int main()
{int n, s = 0;//s:和cin >> n;for(int i = 1; i <= n; ++i)s += i;cout << s;return 0;
}

信息学奥赛一本通 1158:求1+2+3+...相关推荐

  1. 信息学奥赛一本通 1091:求阶乘的和 / 2026:【例4.12】阶乘和 / OpenJudge NOI 1.5 34

    [题目链接] ybt 2026:[例4.12]阶乘和 ybt 1091:求阶乘的和 OpenJudge NOI 1.5 34:求阶乘的和 [题目考点] 1. 求一个数的阶乘 假设求n的阶乘,设结果变量 ...

  2. 《信息学奥赛一本通(C++版)》求校体操队的人数

    来源:<信息学奥赛一本通(C++版)>P65 [题目描述] 例4.11 校体操队到操场集合,排成每行2人,最后多出1人;排成每行3人,也多出1人:分别按每行4.5.6人,都多出1人:当排成 ...

  3. 《信息学奥赛一本通 提高篇》 第四部分 数据结构 第4章 倍增求LCA

    例题1 点的距离 信息学奥赛一本通(C++版)在线评测系统 例题2 暗的连锁(Poj3417) 信息学奥赛一本通(C++版)在线评测系统 LOj10131 暗的连锁_juruo_xlh-CSDN博客 ...

  4. 信息学奥赛一本通 提高篇 第5章 矩阵乘法

    例1 矩阵AXB 信息学奥赛一本通(C++版)在线评测系统 [矩阵乘法]矩阵A×B_Uletay-CSDN博客 矩阵乘法--矩阵A×B_vina的博客-CSDN博客 一本通1641[例 1]矩阵 A× ...

  5. 《信息学奥赛一本通 提高篇》

    提高篇 第一部分 基础算法 第1章 贪心算法 提高篇 第一部分 基础算法 第1章 贪心算法_青少年趣味编程-CSDN博客 提高篇 第一部分 基础算法 第1章 贪心算法 提高篇 第一部分 基础算法 第1 ...

  6. 信息学奥赛一本通 提高篇 第六部分 数学基础 第1章 快速幂

    信息学奥赛一本通 提高篇 第六部分 数学基础 第1章 快速幂 https://blog.csdn.net/mrcrack/article/details/82846727 快速幂取模算法如何实现? h ...

  7. 信息学奥赛一本通 1358:中缀表达式值(expr)

    [题目链接] ybt 1358:中缀表达式值(expr) [题目考点] 1. 表达式求值 中缀表达式转后缀表达式 后缀表达式求值 [解题思路] 由于题目要求做中缀表达式转为后缀表达式,而后求值.那么这 ...

  8. 信息学奥赛一本通 1356:计算(calc)

    [题目链接] ybt 1356:计算(calc) [题目考点] 1. 表达式求值 中缀表达式求值 2. 表达式树 表达式树:一棵表达式树可以表示一系列的运算. 表达式树中的结点包括运算符与数值 str ...

  9. 信息学奥赛一本通 2021:【例4.6】最大公约数

    [题目链接] ybt 2021:[例4.6]最大公约数 [题目考点] 1. while循环 2. 求最大公约数 辗转相减法 辗转相除法 [解题思路] 解法1:枚举 取较小数字,从该数字的值开始从大到小 ...

最新文章

  1. linux中ctrl+z和ctrl+c的区别
  2. oracle从一个表insert语句,Oracle 使用PLSQL 导出 一个表的insert 语句
  3. android toast几种使用方法 (转)
  4. buffsize 缓冲区的大小多少合适_6人餐桌尺寸规格一般是多少
  5. 利用JS脚本快速删除百度网盘同一目录下的不需要文件(可以参考这个方法删除重复文件)
  6. spring boot注释_Spring Boot中的@SpringBootConfiguration注释
  7. 想在边缘运行计算机视觉程序?先来迎接挑战!
  8. Shell编程之通配符和用户自定义变量
  9. ctf 抓捕赵德汉_2017年网络空间安全技术大赛部分writeup
  10. U-Boot移植(8)u-boot的流程
  11. flask的请求与响应
  12. 第四届2021美团网络安全 MT-CTF writeup
  13. Go 开发关键技术指南 | 带着服务器编程金刚经走进 2020 年(内含超全知识大图)
  14. 103.219.29杭州DNS常见的的5个网络安全威胁
  15. 常用的JavaScript位操作(Bitwise)
  16. css 字体样式设置大全
  17. Bagging你真的懂吗
  18. lenovo thinkpad t460s opensuse linux 下禁用多点触控屏
  19. 计算机视觉检测外观,大米外观品质计算机视觉检测的研究
  20. 在ubuntu下烧写映像文件到SD卡--基于三星210开发板

热门文章

  1. Mac OS 看机起动JIRA
  2. 递增输出链表结点,删除重复结点
  3. JavaEE实战班第十四天
  4. 最新!数字人民币横空出世,5万深圳人瓜分1000万红包!
  5. 关于Python爬虫,一条高效的学习路径
  6. 你的“不着急”,最后都是“来不及”
  7. angular input_快速地上手Angular组件开发
  8. 按home键退出的activity可以不进入stop模式码_用了几年的iPhone,竟然不知道苹果手机还有“游戏模式”?...
  9. 成功入职阿里P7后 一个技术老哥总结了这几句话
  10. 梁鑫:美股交易架构实践