【洛谷题解】P2433 【深基1-2】小学数学 N 合一

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

题目描述

问题 1
请输出 I love Luogu!
问题 2
这里有 10 个苹果,小A 拿走了 2 个,Uim 拿走了 4 个,八尾勇拿走剩下的所有的苹果。我们想知道:
(1)小A 和 Uim 两个人一共拿走多少苹果?
(2)八尾勇能拿走多少苹果?
现在需要编写一个程序,输出两个数字作为答案,中间使用空格分开。
问题 3
现在有 14 个苹果。要均分给 4 名同学,分不掉的苹果放回冰箱。请问:
(1) 每位同学能分得几个苹果?
(2) 一共分出去多少苹果?
(3) 把几个苹果放回冰箱?
现在需要编写一个程序,输出三个数字作为答案,每个数字一行。
问题 4
现在有 500 毫升的肥宅快乐水,要均分给 3 名同学,每位同学可以分到多少毫升?请输出一个数字作为输出。保留 6 位有效数字,且不使用科学计数法。
问题 5
甲列火车长 260 米,每秒行 12 米;乙列火车长 220 米,每秒行 20 米,两车相向而行,从两车车头相遇时开始计时,多长时间后两车车尾相离?已知答案是整数。
问题 6
一个长方形长宽分别是 6cm、9cm,求它的对角线长度(cm)。直接使用 cout 输出。
问题 7
Uim 银行账户里面有100元。经过了下面的操作:
(1) 往里面存了 10 元;
(2) 购物花掉了 20 元;
(3) 把里面的钱全部取出。
请在每次操作后输出账户余额,并使用换行符隔开。
问题 8
当半径为 r = 5 r=5 r=5,请输出圆的周长、面积和球体积。取 π = 3.141593 \pi=3.141593 π=3.141593。请直接使用 c o u t cout cout 输出答案,每行一个数字。
问题 9
一只小猴买了若干个桃子。第一天他刚好吃了这些桃子的一半,又贪嘴多吃了一个;第二天他也刚好吃了剩余桃子的一半,贪嘴多吃了一个;第三天他又刚好吃了剩下的桃子的一半,并贪嘴多吃了一个。第四天起来一看,发现桃子只剩下一个了。请问小猴买了几个桃子?
问题 10
洛谷的评测任务是单位时间内均匀增加的。8 台评测机 30 分钟可以刚好把评测队列中的程序评测完毕,10 台评测机 6 分钟可以刚好把评测队列中的程序评测完毕,请问几台评测机可以在 10 分钟时刚好把评测队列中的程序评测完毕?
问题 11
小A跑步速度 5m/s,八尾勇跑步速度 8m/s,八尾勇在小A后面 100m,他们同时起跑,请问需要多长时间八尾勇可以追上小A?输出一个数字表示答案,使用 cout 直接输出。
问题 12
大家都知道有 26 个英文字母,其中A是第一个字母。现在请编程求出:
(1) M 是字母表中的第几个字母?
(2) 第 18 个字母是什么?
输出一个数字和一个字母,使用换行隔开。
问题 13
小 A 有两块球形橡皮泥,一个半径是 4,一个半径是 10。他想把这两块橡皮泥揉在一起,然后塑造成一个正方体,请问这个正方体的棱长是多少?如果结果不是整数,则舍去小数点之后的数字。取 π = 3.141593 \pi = 3.141593 π=3.141593
问题 14
根据咕咕网校的预测,当课程定价为 110 元时,会有 10 人报名。如果课程价格每降低 1 元,就会多 1 名报名者(反之亦然)。如果希望总共能收到 3500 元学费的话,那么应该定价多少呢?已知本题有两个答案符合要求,则取较小的那一个。如果这个答案不是整数,则需四舍五入精确到整数。

输入格式

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

输出格式

根据每个问题,输出一个答案。

样例 #1

样例输入 #1

2

样例输出 #1

6 4

题目解析

首先,我们得先编写一个代码框架出来:

#include<iostream>
// 填上你觉得需要的其他头文件
using namespace std;
int main() {
    int T;
    cin >> T;
    if (T == 1) {
        // 粘贴问题 1 的主函数代码,除了 return 0
    } else if (T == 2) {
        // 粘贴问题 2 的主函数代码,除了 return 0
    } 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;
}

其次,我们分别解决每一个问题。

问题 1~5

  • 问题1:最简单的输出。
cout << "I love Luogu!" << endl;
  • 问题2:四则运算
    第一问,算出结果为 2 + 4 = 6 2+4=6 2+4=6 ;第二问,剩下的苹果数是 10 − 6 = 4 10-6=4 106=4
cout << "6 4" << endl;
  • 问题3:带余除法
    这道题只需一个算式: 14 ÷ 4 = 3 … 2 14\div4=3\dots2 14÷4=32。答案分别是 4 4 4 12 12 12 2 2 2
cout << "4 12 2" << endl;
  • 问题4:精度问题+审题+四则运算
    这道题要仔细审题。题目中说的是“六位有效数字”,而不是小数点后六位
    50 ÷ 3 = 166.66666666 … 50\div3=166.66666666\dots 50÷3=166.66666666,所以答案是 166.667 166.667 166.667
cout << 166.667 << endl;
  • 问题5:行程问题
    从车头相遇到车尾相离,那么两辆车一共前行的距离就是两辆车的长度和,也就是 260 + 220 = 480 260+220=480 260+220=480 时间 = 路程 ÷ 速度 时间=路程\div速度 时间=路程÷速度,速度和是 12 + 20 = 32 12+20=32 12+20=32 。所以答案就是 480 ÷ 32 = 15 480\div32=15 480÷32=15
cout << 15 << endl;

问题 6~10

  • 问题6:勾股定理
    a n s = 6 2 + 9 2 = 36 + 81 = 117 ans=\sqrt{6^2+9^2}=\sqrt{36+81}=\sqrt{117} ans=62+92 =36+81 =117 。答案是无理数,所以直接用cout输出。
    这道题还需要配置头文件,二选一即可
#include <cmath>
#include <math.h>
//...
cout << sqrt(117) << endl;
  • 问题7:四则运算
    第一次操作后: 100 + 10 = 110 100+10=110 100+10=110
    第二次操作后: 110 − 20 = 90 110-20=90 11020=90
    第三次操作后: 清空,即 0 清空,即0 清空,即0
cout << 110 << endl << 90 << endl << 0 << endl;
  • 问题8:圆的周长、圆的面积、球的体积
    C = 2 π r = 2 × π × 5 = 10 π C=2\pi r=2\times\pi\times5=10\pi C=2πr=2×π×5=10π
    S = π r 2 = π × 5 × 5 = 25 π S=\pi r^2=\pi\times5\times5=25\pi S=πr2=π×5×5=25π
    V = 4 3 π r 3 = 4 3 × π × 5 3 = 500 3 π V=\frac{4}{3}\pi r^3=\frac{4}{3}\times\pi\times5^3=\frac{500}{3}\pi V=34πr3=34×π×53=3500π
const double PI = 3.141593;
cout << 10 * PI << endl << 25 * PI << endl << PI * 500 / 3 << endl;
  • 问题9:逆推法
    设小猴子最开始买了 x 个桃子,根据题意,可得: 设小猴子最开始买了x个桃子,根据题意,可得: 设小猴子最开始买了x个桃子,根据题意,可得:
    第一天晚上还剩 x 2 − 1 个桃子,第二天晚上还剩 1 2 x − 1 2 − 1 个桃子,第三天晚上还剩 1 2 x − 1 2 − 1 2 − 1 个桃子,则可列方程: 第一天晚上还剩\frac{x}{2}-1个桃子,第二天晚上还剩\frac{\frac{1}{2}x-1}{2}-1个桃子,第三天晚上还剩\frac{\frac{\frac{1}{2}x-1}{2}-1}{2}-1个桃子,则可列方程: 第一天晚上还剩2x1个桃子,第二天晚上还剩221x11个桃子,第三天晚上还剩2221x111个桃子,则可列方程:
    1 2 x − 1 2 − 1 2 − 1 = 1 \frac{\frac{\frac{1}{2}x-1}{2}-1}{2}-1=1 2221x111=1 ,解得 x = 22 x=22 x=22
cout << 22 << endl;
  • 问题10:
    方法一:牛吃草
    大前提:假设一台机器一分钟测评一个任务。
    8 8 8 台机器需要 30 30 30 分钟,那么在 30 30 30 分钟内,一共测评了 8 × 3 = 240 8\times3=240 8×3=240 个任务。
    10 10 10 台机器需要 6 6 6 分钟,那么在 6 6 6 分钟内,一共测评了 10 × 6 = 60 10\times6=60 10×6=60 个任务。
    我们会发现,第一次比第二次多测评了 240 − 60 = 180 240-60=180 24060=180 个任务。为什么会有这些多出来的任务呢?因为测评过程中会有多产生的任务。在 30 − 6 = 24 30-6=24 306=24 分钟里,多产生了 180 180 180 个任务,那么一分钟就会生产 180 ÷ 24 = 7.5 180\div 24=7.5 180÷24=7.5个任务, 30 30 30 分钟生产 7.5 × 30 = 225 7.5\times30=225 7.5×30=225 个任务,那么本来就有的任务有 240 − 225 = 15 240-225=15 240225=15 个。由于每分钟都会新产生 7.5 7.5 7.5 个任务,所以要用 7.5 7.5 7.5 个评测机对付这些新产生的任务。另外,本身就有的 15 15 15 个任务,要在 10 10 10 分钟内评测完,所以需要 15 ÷ 10 = 1.5 15\div10=1.5 15÷10=1.5 个评测机完成任务。所以,最后需要 1.5 + 7.5 = 9 1.5+7.5=9 1.5+7.5=9 个评测机。
    方法二:二元一次方程
    设原来有 x x x 个评测任务,每分钟增加 y y y 个评测任务,可列方程组:
    { x + 30 y = 30 × 8    ( 1 ) x + 6 y = 10 × 6    ( 2 ) \begin{cases} x+30y=30\times8~~(1)\\ x+6y=10\times6~~(2)\\ \end{cases} {x+30y=30×8  (1)x+6y=10×6  (2)
    ( 1 ) 式 − ( 2 ) 式,得: (1)式-(2)式,得: (1)(2)式,得:
    24 y = 180 24y=180 24y=180
    y = 7.5    ( 3 ) y=7.5~~(3) y=7.5  (3)
    将 ( 3 ) 式带入 ( 1 ) 式,得: 将(3)式带入(1)式,得: (3)式带入(1)式,得:
    x + 45 = 60 x+45=60 x+45=60
    x = 15 x=15 x=15
    解得: { x = 15 y = 7.5 \begin{cases} x=15\\y=7.5\\ \end{cases} {x=15y=7.5
    答案为 x + 10 y 10 = 9 \frac{x+10y}{10}=9 10x+10y=9
    方法三
    因为时间越多,评测机数量越少,且时间 6 < 10 < 30 6<10<30 6<10<30
    那么评测机数量 10 > x > 8 10>x>8 10>x>8,又因 x x x 是整数,故 x = 9 x=9 x=9
cout << 9 << endl;

问题 10~14

  • 问题11:行程问题
    典型的追及问题。由于题目中涉及了小数,所以可以直接输出。
cout << 100 / 3 << endl;
  • 问题12:英语
字母表:
A B C D E F G
H I J K L M N
O P Q R S T
U V W X Y Z
cout << 13 << endl << R << endl;
  • 问题13:正方体的体积,球的体积
    我们都知道正方体的棱长 a = 3 V a=^3\sqrt{V} a=3V 。但是, cmath 库中并没有求立方根的函数。所以,我们可以将立方根转化为幂的形式。那么, a = V 1 3 a=V^{\frac{1}{3}} a=V31 。然而,橡皮泥的总体积就是两个球的体积之和。公式转化为 a = [ 4 3 ( r 1 3 + r 2 3 ) ] 1 3 a={[\frac{4}{3}({r_1}^3+{r_2}^3)]}^{\frac{1}{3}} a=[34(r13+r23)]31
cout << pow(4.0 / 3 * (64 + 1000), 1.0 / 3) << endl;
  • 问题14:一元二次方程
    设需要将价格降低 x x x 元,可列方程:
    ( 110 − x ) ( 10 + x ) = 3500 (110-x)(10+x)=3500 (110x)(10+x)=3500
    展开,得: − x 2 − 10 x + 110 x + 1100 = 3500 -x^2-10x+110x+1100=3500 x210x+110x+1100=3500
    整理,得: x 2 − 100 x + 2400 = 0 x^2-100x+2400=0 x2100x+2400=0 (方便下一步运用因式分解法)
    因式分解,得: ( x − 40 ) ( x − 60 ) = 0 (x-40)(x-60)=0 (x40)(x60)=0
    解得 x 1 = 40 , x 2 = 60 x_1=40,x_2=60 x1=40,x2=60
    题目要求较小值,故输出的值为 40 40 40
cout << 400 << endl;

完整代码

#include <bits/stdc++.h>
using namespace std;
int main() {
    int T;
    cin >> T;
    double PI = 3.141593;
    if (T == 1) {
        cout << "I love Luogu!" << endl;
    } else if (T == 2) {
        cout << 6 << " " << 4 << endl;
    } else if (T == 3) {
    	printf("%d\n%d\n%d\n", 3, 12, 2);
    } else if (T == 4) {
    	cout << 166.667 << endl;
    } else if (T == 5) {
    	cout << 15 << endl;
    } else if (T == 6) {
    	cout << sqrt(117) << endl;
    } else if (T == 7) {
    	printf("%d\n%d\n%d\n", 110, 90, 0);
    } else if (T == 8) {
    	cout << 10.0 * PI << endl << 25.0 * PI << endl << 1.0 * 500 / 3 * PI;
    } else if (T == 9) {
    	cout << 22 << endl;
    } else if (T == 10) {
    	cout << 9 << endl;
    } else if (T == 11) {
    	cout << 100.0 / 3.0 << endl;
    } else if (T == 12) {
    	cout << 13 << endl << "R" << endl;
    } else if (T == 13) {
    	cout << 16 << endl;
    } else if (T == 14) {
    	cout << 50 << endl;
    }
    return 0;
}

谢谢观看!

制作不易,快来一键三连吧~

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值