C++求n 个数的阶乘加起来问题的一种方法

今天在刷NK的时候,发现了一个基础阶乘的题目

题目链接icon-default.png?t=LBL2https://ac.nowcoder.com/acm/problem/24550觉得有点意思,之前要不就是单独求阶乘,还有更简单的就是几个数相加。。。

 

上图为题目

这道题目两者是结合起来了。

以上是题目实例 

应该为两个循环,一个循环为输入循环,另一个为阶乘循环,在阶乘循环的同时进行累加。

这是第一个在我脑子里冒出来的想法

(想到就去做。。。^_^)

以下为代码,并已在代码中附上了说明。(自认为比较通俗,目前水平^~^)

#include<bits/stdc++.h>//万能头文件 

using namespace std;
int main()
{
	int n=0,a=0,k=1;//习惯性初始化 ,因为在下面代码中K需要乘,所以初始化1 
	long long sum=0;//同上    long long 是为了在不超时的情况下,保险起见 
	cin>>n;
	for(int i=0;i<n;i++){//这个循环为了n循环,输入n个数 
		cin>>a;
		for(int j=1;j<=a;j++){ //这个循环为了从1到a阶乘 
			k=k*j;//K的作用是 不影响a的情况下进行阶乘并储存阶乘数值 
		}
		sum+=k;//sum=sum+k,每一次循环,sum都会有新的赋值 
		k=1;//每次循环一定要记住重新初始化k 
	}
	cout<<sum;
}

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值