[Luogu]P2433 小学数学N合一(C++题解)

这篇博客详细解答了Luogu上的P2433题目,涉及一系列小学数学问题,包括加减乘除、几何、速度计算、库存分配等,通过代码和解题思路帮助理解每个问题的解决方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Part 0

【深基1-2】小学数学 N 合一

题目描述

问题 1

请输出 I love Luogu!

问题 2

这里有 10 10 10 个苹果,小 A 拿走了 2 2 2 个,Uim 拿走了 4 4 4 个,八尾勇拿走剩下的所有的苹果。我们想知道:

  1. 小A 和 Uim 两个人一共拿走多少苹果?
  2. 八尾勇能拿走多少苹果?

现在需要编写一个程序,输出两个数字作为答案,中间使用空格分开。

问题 3

现在有 14 14 14 个苹果。要均分给 4 4 4 名同学,分不掉的苹果放回冰箱。请问:

  1. 每位同学能分得几个苹果?

  2. 一共分出去多少苹果?

  3. 把几个苹果放回冰箱?

    现在需要编写一个程序,输出三个数字作为答案,每个数字一行。

问题 4

现在有 500 500 500 毫升的肥宅快乐水,要均分给 3 3 3 名同学,每位同学可以分到多少毫升?请输出一个数字作为输出。保留 6 6 6 位有效数字,且不使用科学计数法。

问题 5

甲列火车长 260 260 260 米,每秒行 12 12 12 米;乙列火车长 220 220 220 米,每秒行 20 20 20 米,两车相向而行,从两车车头相遇时开始计时,多长时间后两车车尾相离?已知答案是整数。

问题 6

一个长方形长宽分别是 6  cm 6 \text{ cm} 6 cm 9  cm 9 \text{ cm} 9 cm,求它的对角线长度( cm \text{cm} cm)。直接使用 cout 输出。

问题 7

Uim 银行账户里面有 100 100 100 元。经过了下面的操作:

  1. 往里面存了 10 10 10 元;

  2. 购物花掉了 20 20 20 元;

  3. 把里面的钱全部取出。

    请在每次操作后输出账户余额,并使用换行符隔开。

问题 8

当半径为 r = 5 r=5 r=5,请输出圆的周长、面积和球体积。取 π = 3.141593 \pi=3.141593 π=3.141593。请直接使用 cout 输出答案,每行一个数字。

问题 9

一只小猴买了若干个桃子。第一天他刚好吃了这些桃子的一半,又贪嘴多吃了一个;第二天他也刚好吃了剩余桃子的一半,贪嘴多吃了一个;第三天他又刚好吃了剩下的桃子的一半,并贪嘴多吃了一个。第四天起来一看,发现桃子只剩下一个了。请问小猴买了几个桃子?

问题 10

洛谷的评测任务是单位时间内均匀增加的。 8 8 8 台评测机 30 30 30 分钟可以刚好把评测队列中的程序评测完毕, 10 10 10 台评测机 6 6 6 分钟可以刚好把评测队列中的程序评测完毕,请问几台评测机可以在 10 10 10 分钟时刚好把评测队列中的程序评测完毕?

问题 11

小 A 跑步速度 5  m/s 5 \text{ m/s} 5 m/s,八尾勇跑步速度 8  m/s 8 \text{ m/s} 8 m/s,八尾勇在小 A 后面 100  m 100 \text{ m} 100 m,他们同时起跑,请问需要多长时间八尾勇可以追上小 A?输出一个数字表示答案,使用 cout 直接输出。

问题 12

大家都知道有 26 26 26 个英文字母,其中 A 是第一个字母。现在请编程求出:

  1. M 是字母表中的第几个字母?
  2. 18 18 18 个字母是什么?

输出一个数字和一个字母,使用换行隔开。

问题 13

小 A 有两块球形橡皮泥,一个半径是 4 4 4,一个半径是 10 10 10。他想把这两块橡皮泥揉在一起,然后塑造成一个正方体,请问这个正方体的棱长是多少?如果结果不是整数,则舍去小数点之后的数字。取 π = 3.141593 \pi = 3.141593 π=3.141593

问题 14

根据咕咕网校的预测,当课程定价为 110 110 110 元时,会有 10 10 10 人报名。如果课程价格每降低 1 1 1 元,就会多 1 1 1 名报名者(反之亦然)。如果希望总共能收到 3500 3500 3500 元学费的话,那么应该定价多少呢?已知本题有两个答案符合要求,则取较小的那一个。如果这个答案不是整数,则需四舍五入精确到整数。

输入格式

输入一个正整数,表示第几个问题。

输出格式

根据所输入的问题编号,输出对应问题的答案。

样例 #1

样例输入 #1

2

样例输出 #1

6 4

提示

请解决以下小学数学题。你可以提交答案,也可以写一个程序。

对于本题来说,如果你不知道怎么输入,也可以这么抄:

#include<iostream>
// 填上你觉得需要的其他头文件
using namespace std;
int main() {
    int T;
    cin >> T;
    if (T == 1) {
        // 粘贴问题 1 的主函数代码,除了 return 0
        cout << "I love Luogu!";
    } else if (T == 2) {
        // 粘贴问题 2 的主函数代码,除了 return 0
        cout << 2 + 4 << " " << 10 - 2 - 4;
    } else if (T == 3) {
        // 请自行完成问题 3 的代码
    } else if (T == 4) {
        // 请自行完成问题 4 的代码
    } else if (T == 5) {
        // 请自行完成问题 5 的代码
    } else if (T == 6) {
        // 请自行完成问题 6 的代码
    } else if (T == 7) {
        // 请自行完成问题 7 的代码
    } else if (T == 8) {
        // 请自行完成问题 8 的代码
    } else if (T == 9) {
        // 请自行完成问题 9 的代码
    } else if (T == 10) {
        // 请自行完成问题 10 的代码
    } else if (T == 11) {
        // 请自行完成问题 11 的代码
    } else if (T == 12) {
        // 请自行完成问题 12 的代码
    } else if (T == 13) {
        // 请自行完成问题 13 的代码
    } else if (T == 14) {
        // 请自行完成问题 14 的代码
    }
    return 0;
}

Part 1

其实他就是小学数学的13道题的总结,大部分都是由你在纸上完成直接输出结果的,不过也有一些需要计算机帮你计算。

这道题并不难!!!

Part 2

各部分解题思路


T1

没什么好说的。

printf("I love Luogu!");

T2

要求小A和Uim一共拿走多少,用加法。

2 + 4 = 6 2+4=6 2+4=6

要求八尾勇还能吃掉剩下的多少,用减法。

10 − 6 = 4 10-6=4 106=4

printf("6 4");

T3

均分除,用除法。

14 ÷ 4 = 3 ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ 2 14÷4=3······2 14÷4=3⋅⋅⋅⋅⋅⋅2

每个人数量乘以人数,用乘法。

3 × 4 = 12 3×4=12 3×4=12

总数中减去,用减法。

14 − 12 = 2 14-12=2 1412=2


T4

这道题对于小学生数学概念稍有考验。

现在有
500毫升的肥宅快乐水,要均分给3名同学,每位同学可以分到多少毫升?请输出一个数字作为输出。

保留6位有效数字,且不使用科学计数法。

这一行其实是整道题最坑人的地方。
如果你单纯认为是保留六位小数,恭喜你,WA了。

有效数字的概念:

有效数字是指在分析工作中实际能够测量到的数字。能够测量到的是包括最后一位估计的,不确定的数字。 我们把通过直读获得的准确数字叫做可靠数字;把通过估读得到的那部分数字叫做存疑数字。

整数也叫有效数字,所以保留六位有效数字其实应该保留到小数点后四位,因为前面整数有三位,第四位小数又是估算的。

printf("166.6667");

不过错了。

洛谷这道题对于有效数字定义有错误,所以保留三位小数就AC了(你谷真是不修边幅啊

printf("166.667");

printf("%.3lf",500/3.0);

T5

这道题是一道相遇问题+火车过桥的综合题。

我们知道:相遇问题的公式:

S = ( V t r a i n 1 + V t r a i n 2 ) × T S=(V_{train_{1}}+V_{train_{2}})×T S=(Vtrain1+Vtrain2)×T

S = V s u m × T S=V_{sum}×T S=Vsum×T

S = L t r a i n 1 + L t r a i n 2 S=L_{train_1}+L_{train_2} S=Ltrain1+Ltrain2

V t r a i n 1 = S ÷ T − V t r a i n 2 V_{train_1}=S÷T-V_{train_2} Vtrain1=S÷TVtrain2

V t r a i n 2 = S ÷ T − V t r a i n 1 V_{train_2}=S÷T-V_{train_1} Vtrain2=S÷TVtrain1

V s u m = V t r a i n 1 + V t r a i n 2 V_{sum}=V_{train_1}+V{train_2} Vsum=Vtrain1+Vtrain2

T = S ÷ ( V t r a i n 1 + V t r a i n 2 ) T=S÷(V_{train_1}+V_{train_2}) T=S÷(Vtrain1+

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值