理解程序的本质
程序是为了实际问题而存在
从本质上而言,程序是解决问题的步骤描述。
首先理解实际问题
1 #include <stdio.h> 2 #include <malloc.h> 3 4 long sum1(int n) 5 { 6 long ret = 0; 7 int* array = (int*)malloc(n * sizeof(int)); 8 int i = 0; 9 10 for(i=0; i<n; i++) 11 { 12 array[i] = i + 1; 13 } 14 15 for(i=0; i<n; i++) 16 { 17 ret += array[i]; 18 } 19 20 free(array); 21 22 return ret; 23 } 24 25 long sum2(int n) 26 { 27 long ret = 0; 28 int i = 0; 29 30 for(i=1; i<=n; i++) 31 { 32 ret += i; 33 } 34 35 return ret; 36 } 37 38 long sum3(int n) 39 { 40 long ret = 0; 41 42 if( n > 0 ) 43 { 44 ret = (1 + n) * n / 2; 45 } 46 47 return ret; 48 } 49 50 int main() 51 { 52 printf("%d ", sum1(100)); 53 printf("%d ", sum2(100)); 54 printf("%d ", sum3(100)); 55 56 return 0; 57 }
程序评鉴初探
- 用尽量少的内存空间解决问题
- 用尽量少的步骤解决问题
优秀的开发者需要追求代码的高“性价比”!