Fastest possible algorithm to sum numbers up to 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
基础教程推荐
- C++ 标准:取消引用 NULL 指针以获取引用? 2021-01-01
- 运算符重载的基本规则和习语是什么? 2022-10-31
- C++ 程序在执行 std::string 分配时总是崩溃 2022-01-01
- 调用std::Package_TASK::Get_Future()时可能出现争用情况 2022-12-17
- 如何定义双括号/双迭代器运算符,类似于向量的向量? 2022-01-01
- 什么是T&&(双与号)在 C++11 中是什么意思? 2022-11-04
- 如何在 C++ 中处理或避免堆栈溢出 2022-01-01
- C++,'if' 表达式中的变量声明 2021-01-01
- 您如何将 CreateThread 用于属于类成员的函数? 2021-01-01
- 设计字符串本地化的最佳方法 2022-01-01