c语言1 n累加求和高斯法,N以内累加求和(高斯求和)
解法一:循环累加
将输入的数字N循环逐次减1,定义一个变量sum将每次减1的结果累加,输出sum就是所求结果#include
using namespace std;
int main() {
int N,sum = 0;
cin >> N;
for (int i = 1; i <= N; ++i) {
sum += i;
}
cout <
return 0;
}
解法二:高斯的加法
假如给定的N=10,则这种算法是1+10、2+9、3+8、4+7、5+6,然后会发现,前面这几个加法算式的结果都是11,如下图所示
这个时候,只需要11*5,就可以得出结果。11*5不是固定值,是根据N得来的,所以我们得出sum = (1+N)*N/2。但是这里要注意,假如N是奇数,如果纯粹按照公式,我们会忽略掉最中间的值,所以要特殊处理一下,sum要加上(N/2)+1才是正确结果。#include
using namespace std;
int main() {
int N,sum = 0,ans;
cin >> N;
ans = 1 + N;
sum = N / 2 * ans;
if (N % 2 != 0) sum += (N / 2 + 1);//判断N的奇偶性
cout <
return 0;
}
解法三:等差数列求和公式
还是高斯,他老人家总结出了一条等差数列求和公式:
公式描述:公式中首项为a1,末项为an,项数为n,公差为d,前n项和为Sn。
根据题意,再套用公式,在本题中我们可以得出首项为1,末项为N,公差为1,有了公式就很好写代码了,这就是数学的魅力#include
using namespace std;
int main() {
int N;
cin >> N;
int sum = N * 1 + (N * (N - 1)) / 2 * 1;
cout <
return 0;
}
c语言1 n累加求和高斯法,N以内累加求和(高斯求和)相关推荐
- 【图像处理】——图像的二值化操作及阈值化操作(固定阈值法(全局阈值法——大津法OTSU和三角法TRIANGLE)和自适应阈值法(局部阈值法——均值和高斯法))
目录 一.二值化的概念(实际上就是一个阈值化操作) 1.概念: 2.实现方法 3.常用方法 二.阈值类型 1.常见阈值类型(主要有五种类型) (1)公式描述 (2)图表描述 2.两种特殊的阈值算法(O ...
- 【最小二乘法 | 高斯法】
最小二乘法在三坐标测量时常常被提起,那什么是最小二乘法呢?它具备什么样的特点?根据标准,哪些要求必须采用最小二乘法呢?今天我们就来聊一聊这个传说中的最小二乘法. 在认识最小二乘法之前,我们必须要先认识 ...
- R语言按组聚合求和实战(sum a variable by group):使用aggregate函数按组聚合求和、使用tapply函数按组聚合求和、按组聚合求和(使用dplyr包)
R语言按组聚合求和实战(sum a variable by group):使用aggregate函数按组聚合求和.使用tapply函数按组聚合求和.按组聚合求和(使用dplyr包) 目录
- C语言编程规范之匈牙利命名法
匈牙利命名法 匈牙利命名法是一种编程时的命名规范.基本原则是:变量名=属性+类型+对象描述,其中每一对象的名称都要求有明确含义,可以取对象名字全称或名字的一部分.要基于容易记忆容易理解的原则 ...
- 费舍尔方法 续:逆高斯法(Stouffer‘s Z-score method)
在上一篇文章中,我们提到,用费舍尔方法做文本分类,实际上是进行一个假设检验的过程.有一种与费舍尔方法密切相关的方法,称为逆高斯法(inverse normal method),也称Stouffer's ...
- R语言使用colSums函数对矩阵或者数据框数据的列求和、使用rbind函数行列和向量附加到原始矩阵数据尾部
R语言使用colSums函数对矩阵或者数据框数据的列求和.使用rbind函数行列和向量附加到原始矩阵数据尾部 目录
- 《数据结构、算法与应用 —— C++语言描述》学习笔记 — 回溯法
<数据结构.算法与应用 -- C++语言描述>学习笔记 - 回溯法 一.算法思想 二.货箱装载 1.问题描述 2.回溯算法 3.实现 4.测试代码 一.算法思想 回溯法是搜索问题解的一种系 ...
- C语言排序算法之简单交换法排序,直接选择排序,冒泡排序
C语言排序算法之简单交换法排序,直接选择排序,冒泡排序,最近考试要用到,网上也有很多例子,我觉得还是自己写的看得懂一些. 简单交换法排序 1 /*简单交换法排序 2 根据序列中两个记录键值的比较结果来 ...
- c语言 do while 素数,c语言题目:用while语句求2000以内所有质数(素数)
c语言题目:用while语句求2000以内所有质数(素数) 关注:100 答案:3 手机版 解决时间 2021-02-26 06:59 提问者祗剩寂寞 2021-02-25 10:11 小弟初学, ...
最新文章
- HTML的标签描述18
- python批量jpg转png(顺序排列1.2.3……)、修改文件夹尺寸
- 【Android 插件化】基于插件化的恶意软件的加载策略分析 ( 自定义路径加载插件 | 系统路径加载插件 | 用户同意后加载插件 | 隐藏恶意插件 )
- OpenCV 图像平移
- 如何版本化你的API?--转
- oracle hint push_pred,hints的push_pred应用-Oracle
- 在visual studio code中配置python以及解决中文乱码问题
- Python内置函数max()高级用法
- 使用XPO过程中的代码优化
- S3cCTF-gyy-Writeup
- Vue 3.0 Ref-sugar 提案到底是啥,真的是自寻死路吗?
- [转载]ssget 用法详解 by yxp
- 回溯算法-数独(计算器)
- 下拉列表—DropDownMenu的使用解析
- FPGA学习杂记4——IP核简介、调用、复制和PLL IP核介绍
- 【聚水潭】胜算操作手册
- github官网连接超时解决方案(图解版,亲测成功)
- 微信小程序笔记(三)
- Mac系统下Gauge初体验
- spyder pyecharts不显示_微星PAG272QRZ显示器好不好用 微星PAG272QRZ显示器全面评测_显示器_硬件教程...