算法 - 初体验

计算 1 + 2 + ... + 99 + 100
算法一:

#include <stdio.h>
#include <string.h>

int main( )
{
    int i,sum = 0,n =100;
    for (i = 1;i<=n;i++) {
        sum = sum + i;
    }
    printf("%d",sum);
    return 0;
}

条件改大一些,

#include <stdio.h>
#include <string.h>

int main( )
{
    int i,sum = 0,n =100000000000;
    for (i = 1;i<=n;i++) {
        sum = sum + i;
    }
    printf("%d",sum);
    return 0;
}

2103145472
Process returned 0 (0x0)   execution time : 4.061 s
Press any key to continue.

执行了4秒钟。

算法二:

#include <stdio.h>
#include <string.h>

int main( )
{
    int i,sum = 0,n =100;
    sum = (1 + n) * (n/2);
    printf("%d",sum);
    return 0;
}

改大一些,

#include <stdio.h>
#include <string.h>

int main( )
{
    int i,sum = 0,n =100000000000;
    sum = (1 + n) * (n /2);
    printf("%d",sum);
    return 0;
}
2103145472
Process returned 0 (0x0)   execution time : 0.206 s
Press any key to continue.

执行0.2秒。

点评: 算法二更加高效。

算法就是你泡妞的技巧和策略,有的朋友技术高,三下五除二就拿下。

对于给定的问题,可以有多种解决的算法。

掌握经典算法,加以灵活运用,产生新的算法。

posted @ 2018-01-13 11:51  TBHacker  阅读(213)  评论(0编辑  收藏  举报