妹子杀手


私信TA

用户名:Giant

访问量:59942

签 名:

怀念我的ACM生涯

等  级
排  名 62
经  验 8732
参赛次数 4
文章发表 4
年  龄 0
在职情况 在职
学  校 DJTU
专  业

  自我简介:

我想起那天下午夕阳下的奔跑 那是我逝去的青春

这个题,求阶乘和,循环遍历就可以了,不用双重个循环,每次计算阶乘和,然后累加就可以

主要注意数值的大小,用int肯定放不下的,必须用double,并且中间的阶乘结果也要用double才能不会出现答案错误的问题。


PS:printf的科学计数法格式是%e


应该看一下就明白,答案如下:

#include<stdio.h>
int main()
{
	int i;
	double j=1,sum=0;
	for(i=1;i<=30;i++)
	{
		j = j*i;
		sum = sum+j;
	}
	printf("%.2e\n",sum);

	return 0;

}


 

0.0分

40 人评分

  评论区

好奇怪啊,我用long long 写阶乘函数factorial命令,然后用long long int输出可以,但是为啥科学计数法就出错
2022-07-15 21:57:18 | |
#include<stdio.h>
int main(){
	double sum=0.0; // 2 = 1*2 3 = 1*2*3 = 6
	for(int i=1;i<=30;i++){
		double m=1;
		for(double j=1.0;j<=i;j++){
			m = m*j;
		}
		sum+=m;
	}
	printf("%.2e",sum);
}
2022-06-01 11:30:09 | |
我用了双重循环,我人傻了
2022-03-09 15:43:47 | |
如果是c++怎么才能输出科学计数法啊
2022-02-11 21:44:52 | |
好牛
2021-10-22 16:02:29 | |
#include <stdio.h>

int main()
{
	double sum0=0;
	int i;
	int a=1;

	for(i=1;i<=30;i++){
		a=a*i;
		sum0+=a;
}
	printf("%.2e",sum0);

	return 0;
}
感覺差不多鴨:(
2021-10-05 14:21:37 | |
作者的代码转换工具是啥呢
2021-09-26 11:50:35 | |
细节啊
2021-04-14 22:14:14 | |