您的位置:首页 > 其它

计算从1加到100

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


运行结果:




内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: