解题思路:
正常求阶乘,再求和即可,,当然直接输出结果有时可以的,嗯,就是这样。。。(下面有彩蛋hhhhh)




注意事项:
注意计算时的逻辑,当然还有格式,,直接输出的话——需要注意格式:“2.74e+32\n”结果是这个样子的,,有的编译器会输出“2.74e+032\n”我也是醉了hhhhhhhhhh




参考代码:

正常标准代码如下:

#include<stdio.h>

int main() {
    int i;
    double n = 1, sum = 0;
    for (i = 1; i <= 30; i++) {
        n = n * i;
        sum = sum + n;
    }
    printf("%.2e\n", sum);
    return 0;
}

简单粗暴的强行过测试样例的代码如下:(不搞事情怎么能行hhhhhhhhh

#include<stdio.h>

int main() {
    printf("2.74e+32\n");
    return 0;
}


点赞(5)
 

0.0分

11 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 7 条评论

虹山上峰 3年前 回复TA
@陈雨斌 这是c++吗,看着都比c难
全网第一白给Jhin 4年前 回复TA
@全网第一白给Jhin 了解了,奥力给
ET 4年前 回复TA
@全网第一白给Jhin 编译器的问题,有的不兼容,(我都没用过long double)
全网第一白给Jhin 4年前 回复TA
。。。我遇到个问题有点好奇,没搞懂,就是我把你发的参考代码中double改为了long double后,在我电脑上的编译器运行后的输出是正确的,但提交oj就不给过。。。求大佬指点指点。
ayua 4年前 回复TA
我就出现了032这个问题..
踏雪无痕 5年前 回复TA
@陈雨斌 #include<iostream> using namespace std; double fact(int k) { 	double s=0,v=1; 	int i,j; 	for(i=1;i<=k;i++) 	{ 		 		for(j=1,v=1;j<=i;j++) 		{ 			v*=j; 		} 		s+=v; 	} 	return s; } int main(){ 	int n; 	n=30; 	cout.setf(ios::scientific); 	cout.precision(2); 	cout<<fact(n);     return 0; }
陈雨斌 6年前 回复TA
用cout怎么输出