C语言 1到 int n 求和 不能用循环

求只用int 的算法 要求效率为 O (1)
如何处理溢出啊啊。。。

C语言实现如下:

#include <stdio.h>
void main()
{
int n;
scanf("%d",&n);//输入n。
printf("%d\n",(n+1)*n/2);//公式计算1到n的和。
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-03-14
简单程序:
#include<stdio.h>
int main()
{int n; long s=1;
scanf("%d",&n);
s=(s+n)*n/2;
printf("%ld\n",s);
return 0;
}追问

不可以用long..

追答

那n最大是多少?

追问

没有说。。但是输入的类型是int

本回答被提问者和网友采纳
第2个回答  2015-03-14
等差数列求和公式+大数算法
相似回答