方法一:

因为3! = 2! * 3;4! = 3! * 4;5! = 4! * 5;…
所以我们在求10的阶乘之和时可以直接使用一个数的阶乘ret *=(ret+1);
然后在相加求和sum += ret;

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

方法二:

先求出各个数的阶乘,然后相加。(两个嵌套的for循环)

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

	for (i = 1; i <= 10; i++)
	{
		int j = 0;
		int ret = 1;
		for (j = 1; j <= i; j++)
		{
			ret *= j;
		}
		sum += ret;
		
	}
	printf("%d\n", sum);
	return 0;
}
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐