码迷,mamicode.com
首页 > 其他好文 > 详细

第一课——进阶高手的大门

时间:2017-07-09 12:24:01      阅读:121      评论:0      收藏:0      [点我收藏+]

标签:程序   公式   images   打开文件   需要   for   code   理解   数值计算   

理解程序的本质
程序是为了实际的问题而存在
从本质上而言,程序是解决问题的步骤描述

技术分享

一小步的进阶
首先理解实际问题!
 确认问题类型
如:数值计算,求最小值个数
 确认求解的步骤
如:打开文件,读数据,关闭文件,计算和
问题:
如何判断求解步骤的好坏

通过下面的例子说明:

#include <stdio.h>
#include <malloc.h>

long sum1(int n)
{
    long ret = 0;
    int* array = (int*)malloc(n * sizeof(int));
    int i = 0;
    
    for(i=0; i<n; i++)
    {
        array[i] = i + 1;
    }
    
    for(i=0; i<n; i++)
    {
        ret += array[i];
    }
    
    free(array);
    
    return ret;
}

long sum2(int n)
{
    long ret = 0;
    int i = 0;
    
    for(i=1; i<=n; i++)
    {
        ret += i;
    }
    
    return ret;
}

long sum3(int n)
{
    long ret = 0;
    
    if( n > 0 )
    {
        ret = (1 + n) * n / 2;
    }
    
    return ret;
}

int main(void)
{
    printf("%ld\n", sum1(100));
    printf("%ld\n", sum2(100));
    printf("%ld\n", sum3(100));
    
    return 0;
}

技术分享

三个函数输出相同,可是很明显,第三个高斯公式完成地最简单,至少目前给我们的直观感受是这样的,而第一个最没有必要,第二个属于大众型的。

技术分享

 

 小结

程序是为了具体问题而存在的
程序需要围绕问题的解决进行设计
同一个问题可以有多种解决方案
如何追求程序的性价比
是否有可量化的方法判别程序的好坏?

第一课——进阶高手的大门

标签:程序   公式   images   打开文件   需要   for   code   理解   数值计算   

原文地址:http://www.cnblogs.com/yangguang-it/p/7140620.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!