常规算法
:
1 #include <stdio.h> 2 int main() 3 { 4 // 常规算法 5 int a; 6 while(scanf("%d",&a)!=EOF){ 7 int i=0,sum = 0; 8 for(i;i<=a;i++){ 9 printf("%d ",i); 10 sum+=i; 11 } 12 printf("%d ",sum); 13 } 14 return 0; 15 }
高斯定理 :
#include <stdio.h> int main() { // 高斯定理 int a , sum =0; while(scanf("%d",&a)!=EOF){ if(a%2==0) sum=a/2*(1+a); else sum = (1+a)/2*a; printf("%d ",sum); } return 0; }
说明:
1.题目标识说结果不能超过32bit ,所以在考虑高斯定理的时候需要判断输入的数字是否为被2整除
2.题目说明 followed by a blank line 表示 间隔一个空行 所以要注意printf("%d
",sum); 为两个换行符