包头一机:用C编写1到1000的加法的合计

来源:百度文库 编辑:杭州交通信息网 时间:2024/05/04 08:03:01

main()
{int sum=0,i;
clrscr();
for(i=1;i<=1000;i++)
sum=sum+i;
printf("%d",sum);
getch();}

C语言中的int型最大不是35535吗 1加到1000的话 估计用int型是不行的 建议用long型为好
main()
{
long sum=0,i;
printf("1+2+3+...+1000=");
for(i=1;i<=1000;i++)
sum=sum+i;
printf("%d",sum);
}

main()
{
long sum=0,i;
printf("1+2+3+...+1000=");
clrscr();
for(i=1;i<=1000;i++)
sum+=i;
printf("%d",sum);
getch();
}

#include "stdio.h"

int main()
{
printf("%ld\n",(1+1000)*1000/2);
return 0;
}

时间复杂度为O(1)。

#include "stdio.h"

int main()
{
printf("%ld\n",(1+1000)*1000/2);
return 0;
}

这样蛮好的
能用数学方法快

加法的合计?岂不是要先算1,然后1+2,……,1+2+...+1000,然后把全部值加起来?
#include <stdio.h>
main()
{
int i;
long sum=0;
for(i=1;i<=1000;i++)
sum+=i*(1000-i+1); //值为i的数加了1000-i+1次
printf("%ld",sum);
return 0;
}