妹子杀手


私信TA

用户名:Giant

访问量:73178

签 名:

怀念我的ACM生涯

等  级
排  名 55
经  验 10111
参赛次数 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分

62 人评分

  评论区

#include <stdio.h>
int main()
{
	int i,a=1;
	double sum=0,b;
	for(i=1;i<=30;i++)
	{
		b=i;
		while(b>0)
		{
			a=a*b;
			b--;
		}
		sum=sum+a;
		a=1;
	}
	printf("%.2e\n",sum);
	
	return 0;
} 为啥这个不对
2022-10-28 21:05:32
看到题目第一想到的就是双重循环。。。这个真的厉害!
2022-09-17 10:57:33
#include<stdio.h>
int main()
{
int i;
double a=0,s=0;
	for(i=1;i<=30;i+=2)
	{
		a=a+i;
		s=s+a;
	}
	printf("%.2e",s);
	return 0;
}
//我这个问题在哪啊
2022-08-24 18:14:04
一开始没看懂,以为就是30!,然后让脑子跟着程序逐步走了一遍才晓得,j 被不断赋予新值(而这个值就是上一个值阶乘和),真的厉害!
2022-08-17 10:26:03
好奇怪啊,我用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