这两个程序哪个更好一些呐


main()
{int i,j,n;
long s,sum;
scanf("%d",&n);
for(i=1,sum=0;i<=n;i++)
       {for(j=1,s=0;j<=i;j++)
              s+=j;
       sum+=s;
       }
printf("sum=%ld\n",sum);
}
 

main()
{int i,n;
long s,sum;
scanf("%d",&n);
for(i=1,s=0,sum=0;i<=n;i++)
       {s+=i;
       sum+=s;
       }
printf("sum=%ld\n",sum);
}
这两个程序都是求数列n(n+1)/2的前n项和的

两个都不怎么样。求数列的和有公式的,一步就能算出来要循环那么多次,效率浪费。
相比之下第一个浪费更严重,已经求过的数不直接用,一遍一遍的循环去求值

第二个吧,只用了一个for循环,程序运行快些,复杂度低