栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

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

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

目录
  • 【深基1-2】小学数学 N 合一 题解
    • 题目描述
    • 输入格式
    • 输出格式
    • 样例 #1
      • 样例输入 #1
      • 样例输出 #1
    • 题目解析
      • 问题 1~5
      • 问题 6~10
      • 问题 10~14
    • 发牢骚
    • 完整代码
    • 谢谢观看!

【深基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
// 填上你觉得需要的其他头文件
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 10−6=4 。
cout << "6 4" << endl;
  • 问题3:带余除法(四年级下册)
    这道题只需一个算式: 14 ÷ 4 = 3 … 2 14div4=3dots2 14÷4=3…2。答案分别是 4 4 4 , 12 12 12 , 2 2 2 。
cout << "4 12 2" << endl;
  • 问题4:精度问题+审题+四则运算(三年级下册)
    这道题要仔细审题。题目中说的是“六位有效数字”,而不是小数点后六位!
    50 ÷ 3 = 166.66666666 … 50div3=166.66666666dots 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 480div32=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 
#include 
//...
cout << sqrt(117) << endl;
  • 问题7:四则运算(四年级下册)
    第一次操作后: 100 + 10 = 110 100+10=110 100+10=110
    第二次操作后: 110 − 20 = 90 110-20=90 110−20=90
    第三次操作后: 清 空 , 即 0 清空,即0 清空,即0
cout << 110 << endl << 90 << endl << 0 << endl;
  • 问题8:圆的周长(六年级上册)、圆的面积(六年级上册)、球的体积(高中?!)
    C = 2 π r = 2 × π × 5 = 10 π C=2pi r=2timespitimes5=10pi C=2πr=2×π×5=10π
    S = π r 2 = π × 5 × 5 = 25 π S=pi r^2=pitimes5times5=25pi 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}timespitimes5^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个桃子,则可列方程: 第一天晚上还剩2x​−1个桃子,第二天晚上还剩221​x−1​−1个桃子,第三天晚上还剩2221​x−1​−1​−1个桃子,则可列方程:
    1 2 x − 1 2 − 1 2 − 1 = 1 frac{frac{frac{1}{2}x-1}{2}-1}{2}-1=1 2221​x−1​−1​−1=1 ,解得 x = 22 x=22 x=22
cout << 22 << endl;
  • 问题10:
    方法一:牛吃草,四年级下册奥数
    大前提:假设一台机器一分钟测评一个任务。
    8 8 8 台机器需要 30 30 30 分钟,那么在 30 30 30 分钟内,一共测评了 8 × 3 = 240 8times3=240 8×3=240 个任务。
    10 10 10 台机器需要 6 6 6 分钟,那么在 6 6 6 分钟内,一共测评了 10 × 6 = 60 10times6=60 10×6=60 个任务。
    我们会发现,第一次比第二次多测评了 240 − 60 = 180 240-60=180 240−60=180 个任务。为什么会有这些多出来的任务呢?因为测评过程中会有多产生的任务。在 30 − 6 = 24 30-6=24 30−6=24 分钟里,多产生了 180 180 180 个任务,那么一分钟就会生产 180 ÷ 24 = 7.5 180div 24=7.5 180÷24=7.5个任务, 30 30 30 分钟生产 7.5 × 30 = 225 7.5times30=225 7.5×30=225 个任务,那么本来就有的任务有 240 − 225 = 15 240-225=15 240−225=15 个。由于每分钟都会新产生 7.5 7.5 7.5 个任务,所以要用 7.5 7.5 7.5 个评测机对付这些新产生的任务。另外,本身就有的 15 15 15 个任务,要在 10 10 10 分钟内评测完,所以需要 15 ÷ 10 = 1.5 15div10=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=30times8~~(1)\ x+6y=10times6~~(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:(英语)PEP三年级起点 三年级上册
字母表:
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=^3sqrt{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​(r1​3+r2​3)]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 (110−x)(10+x)=3500
    展开,得: − x 2 − 10 x + 110 x + 1100 = 3500 -x^2-10x+110x+1100=3500 −x2−10x+110x+1100=3500
    整理,得: x 2 − 100 x + 2400 = 0 x^2-100x+2400=0 x2−100x+2400=0 (方便下一步运用因式分解法)
    因式分解,得: ( x − 400 ) ( x − 600 ) = 0 (x-400)(x-600)=0 (x−400)(x−600)=0。
    解得 x 1 = 400 , x 2 = 600 x_1=400,x_2=600 x1​=400,x2​=600 。
    题目要求较小值,故输出的值为 400 400 400 。
cout << 400 << endl;
发牢骚

这道题真的是洛谷入门题中最复杂,涉及知识点最多的题目了!而且细节很多,很少有人能一次过。而且难度也不低,要是小学生来做题,估计很少能全部都会的。

完整代码
#include 
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("%dn%dn%dn", 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("%dn%dn%dn", 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;
}
谢谢观看!

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

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/947807.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号