算法

计算 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秒。

点评: 算法二更加高效。

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

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

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

原文地址:https://www.cnblogs.com/jiqing9006/p/8278738.html