用c语言计算S=1-2+3-4+5-6+...+/-N,时间复杂度为O(1)
4条回答 默认 最新
- 技术专家团-Plio大咸鱼 2022-03-01 23:27关注
每相邻两个数的和为-1
示例代码如下有帮助望采纳~
#include <stdio.h> int naive(int n) { int flag = 1; int result = 0; for (int i = 1; i <= n; i++) { result += i * flag; flag *= -1; } return result; } int fast(int i) { return (i / 2 * -1 + ((i % 2) ? i : 0)); } int main(int argc, char const *argv[]) { for (int i = 0; i < 10; i++) { printf("%d %d\n", naive(i), fast(i)); } };
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用