Fastest possible algorithm to sum numbers up to N(最快可能的算法来求和最多 N)
本文介绍了最快可能的算法来求和最多 N的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想要一个真正快速的算法或 C 中的代码来执行以下任务:对任何给定整数 N 求和从 1 到 N 的所有数字,而不假设 N 是正数.我做了一个从 1 到 N 的循环求和,但是太慢了.
I want a really fast algorithm or code in C to do the following task: sum all numbers from 1 to N for any given integer N, without assuming N is positive. I made a loop summing from 1 to N, but it is too slow.
推荐答案
如果N
为正数:int sum = N*(N+1)/2;
如果 N
为负数:int tempN = -N;int sum = 1 + tempN*(tempN+1)/2 * (-1);
.
这篇关于最快可能的算法来求和最多 N的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
沃梦达教程
本文标题为:最快可能的算法来求和最多 N


猜你喜欢
- DoEvents 等效于 C++? 2021-01-01
- 将函数的返回值分配给引用 C++? 2022-01-01
- 将 hdc 内容复制到位图 2022-09-04
- 使用 __stdcall & 调用 DLLVS2013 中的 GetProcAddress() 2021-01-01
- 从父 CMakeLists.txt 覆盖 CMake 中的默认选项(...)值 2021-01-01
- XML Schema 到 C++ 类 2022-01-01
- GDB 不显示函数名 2022-01-01
- OpenGL 对象的 RAII 包装器 2021-01-01
- 哪个更快:if (bool) 或 if(int)? 2022-01-01
- 如何提取 __VA_ARGS__? 2022-01-01