求1+2!+3!+4!+…+30!。科学计数法,保留两位小数。
输入
无
输出
无
样例输入
无
样例输出
无
分析:题目本身不是很难,只是需要思考需要如何循环。明白两点即可,一是循环,一个数的阶乘结果是建立在前一个数的阶乘结果之上的,知道这个就行了。二是科学计数法表示,没啥说的
C语言代码如下:
#include<stdio.h>
int main()
{
int i;
float sum=0,t=1;
for(i=1;i<=30;i++)
{
t*=i;
sum+=t;
}
printf("%.2e\n",sum);
return 0;
}
C++代码如下:
#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
int i;
float sum=0,t=1;
for(i=1;i<=30;i++)
{
t*=i;
sum+=t;
}
cout<<setprecision(3)<<sum<<endl;
return 0;
}