计算从1加到100

最基本的算法,也是从小到大都在玩的一个游戏,记得小时候有些小伙伴经常问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;
}


运行结果:


方法二: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;
}


运行结果:


方法三: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;
}


运行结果:


方法四: 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;

}


运行结果:


方法五:递归

#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;
}

运行结果:




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值