计算从1加到100

时间:2022-07-14 09:52:03

最基本的算法,也是从小到大都在玩的一个游戏,记得小时候有些小伙伴经常问1+2+3+4+........+100=?
而我经常回答一个早已心知肚明的答案5050,随着年龄的增长,越来越发现从1加到100是一件非常有意思的事情,越来越发现,越能理解从1加到100

小学奥数中,老师会教你:1+100=101 2+99=101 3+98=101 ............. 50+51=101 一共有50个算式的结果是101

所以 1+2+3+4+..........+100 = 50*101= 5050


到了高中后老师会教你用数列计算1+2+3+4+...........+100

因为:2-1=1 3-2=1 4-3=1

所以 1 2 3 4 5 ............100是一组首项为1 公差为1的等差数列

带入等差数列的通项公式得: An=n

根据等比数列的前n项和的计算公式得: Sn=(1/2)*n*n+(1/2)*n

所以1+2+3+4+5+.............100 = S100 = (1/2)*100*100+(1/2)*100 = 5050


用编程的方法计算1加到100

方法一:for循环

#include <stdio.h>

int main()
{
int sum = 0;

for(int i=1;i<=100;i++)
{
sum = sum + i;
}

printf("%d\n",sum);

return 0;
}


运行结果:

计算从1加到100


方法二:while循环:

#include <stdio.h>

int main()
{
int sum = 0;
int i = 1;

while(i<=100)
{
sum = sum + i;

i++;
}

printf("%d\n",sum);

return 0;
}


运行结果:

计算从1加到100


方法三:do----while循环:

#include <stdio.h>

int main()
{
int sum = 0;
int i = 1;

do
{
sum = sum + i;

i++;
}while(i<=100);

printf("%d\n",sum);

return 0;
}


运行结果:

计算从1加到100


方法四: goto语句:

#include <stdio.h>

int main()
{
int sum = 0;
int i = 1;

loop:
sum = sum + i;

if(i == 100)
{
printf("%d\n",sum);

return 0;

}

i++;

goto loop;

}


运行结果:

计算从1加到100


方法五:递归

#include <stdio.h>

int f(int n)
{
if(1 == n)
{
return 1;
}
else
{
return f(n-1)+n;
}
}

int main()
{
int sum = f(100);

printf("%d\n",sum);

return 0;
}

运行结果:

计算从1加到100