洛谷P2433 小学数学 N 合一

文章描述了一位程序员在洛谷平台上解答一系列数学和编程题目的过程,涉及题目包括输出语句、保留有效数字、火车行程问题、勾股定理、球体积计算、还原问题、追及问题、字母表顺序、正方体体积、一元二次方程等,展示了从简单计算到复杂逻辑的应用。
摘要由CSDN通过智能技术生成

写完了这道题结果脑子断电把浏览器关了。。。。。。打开一看

没保存

传送门:【深基1-2】小学数学 N 合一 - 洛谷

第一题 第二题 第三题

这几道题没啥好说的,直接输出就彳亍了

cout << "I love Luogu!" << endl;
cout << “6 4” << endl;
cout << "3 12 2" << endl;

第四题

这道题不难,但是题目说保留6位有效数字

500\div3=166.666...
“有效数字"包括整数部分
所以这道题只保留3位小数,不是保留6位小数。

printf("%.3lf\n", 500.0 / 3.0);

第五题

这道题是一道典型的火车行程问题,本质就是一道相遇问题。

套用公式解答就ok力。
(220 + 260) \div (20 + 12) = 15(s)

cout << 15 << endl;

第六题

这道题涉及到初二的一个知识:勾股定理:-)。
勾股定理的定义如下:

在一个直角三角形中,两直角边的平方和等于斜边的平方

那么我们就可以这样计算:

cout << sqrt(6 * 6 + 9 * 9) << endl;

第七题

也是简单的加减法,直接计算即可,注意需要使用换行符隔开。

cout << 110 << endl << 90 << endl << 0 << endl;

第八题

这道题的前两问没问题,那第三问球的体积怎么算呢?

球体积V=\frac43 \pi r^3

接下来套公式就可以啦。

const double Pi = 3.141593;
cout << Pi * 10 << endl << Pi * 25 << endl << (4 / 3) * Pi * 125 << endl;

第九题

这道题也是小学奥数中的一类——还原问题

我们可以从最后一个桃子开始倒推,把多拿的一个桃子加回去,再把桃子数量乘以2,一步一步的向上一层一层。这就是我们常用的递归思想。

最后的答案是22。

cout << 22 << endl;

第十题

这道题就是小学奥数六年级最难的题——牛吃草问题,而且这道题还只是牛吃草问题中的菜鸟难度(相信我,不要作死深究这种问题,都是血与泪的教训

我们先把原题转化成一般形式的板题:

牧场上有一片青草,每天都生长得一样快。这片青草供给8头牛吃,可以吃30天,若供给10头牛吃,可以吃6天。如果要10天把草吃完,需要多少头牛?

假设1头牛1天吃"1"份草;
8头牛在30天内,一共吃了8\times30=240(份)草

10头牛在6天内,一共吃了10\times6=60(份)草

因为吃草过程中会有多生长的草,所以第一种情况比第二种情况多吃了240-60=180(份)草

这180份草是在30-6=24(分钟)内生长的

那么1分钟生长180\div24=7.5(份)草,30分钟生长7.5\times30=225(份)草

那么原有的草就有240-225=15(份),需要15\div10=1.5(头)牛吃掉。

总共需要7.5+1.5=9(头)牛,也就是9台评测机。

cout << 9 << endl;

第十一题

按照追及问题的公式套用即可:

cout << 100 / (8 - 5) << endl;

 第十二题

26个字母表应该没有人不会吧?

cout << 13 << endl << R << endl;

 第十三题

我们知道正方体体积的立方根就是正方体的棱长。但是问题来了,<cmath>中没有求立方根的函数。但是我们可以将立方根转化为次方的方式,也就是这样:a=V^\frac{1}{3}

记得别忘记强转。

upd:C++是有求立方根函数的:cbrt(a),但是a需要使用浮点数类型。

const double Pi = 3.141593;
cout << (int)(pow(4 / 3 * Pi * (4 * 4 * 4 + 10 * 10 * 10), 1.0 * 1 / 3)) << endl;

第十四题

内心OS:呼,总算要做完了。

蛤?一元二次方程?

出题人你是不是有点过分了?

无语.exe

好了,那我们先解一下方程⑧

                   (110+x)(10-x)=3500

解: -x^2-10x+110x+1100=3500

                    x^2-100x+2400=0

                      (x-40)(x-60)=0

                      x_1=40        x_2=60

60+10=70

40+10=50

70>50

题目中要取较小的值,所以答案是50,直接输出答案即可。

cout << 50 << endl;

End~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值