题解 P2433 【【深基1-2】小学数学 N 合一】
总之,这题可以说是洛谷入门赛史上最难,最坑,最不容易AC的简单题了,反正在考场上本人调了一个小时才调出来,既然如此,发篇题解吐槽一下吧!
Problem 1
这个没啥好说的,直接:
cout << "I love Luogu!";
Problem 2
这个也是比较简单的问题,并且题目已经给你答案了,就不做过多注解了
cout << 2 + 4 << " " << 10 - 2 - 4;
Problem 3
这个也是小学数学:
(既然是小学数学,那就按照小学的格式写吧)
然后就迎刃而解了,分别是3,12,2
Problem 4
这个题也不难,但是有一个超!级!大!坑!点!!!!
保留6位有效数字
6位有效数字!
有效数字包括整数部分和小数部分
前面的166也属于有效数字的一部分!
所以这个题
众所周知,printf是比cout快的,而且cout保留小数还要用iomanip里又臭又长的控制符,所以我们在这里就用cout啦!
cout<<fixed<<setprecision(3)<<1.0*500/3;
Problem 5
第五题是一个典型的小学奥数的大坑——行程问题!
至于行程问题到底要注意什么,为什么不问问神奇海螺呢?
神奇海螺告诉我们:
\text{相遇问题:路程和}=\text{时间}\times\text{速度和} \text{火车过桥问题:总路程}=\text{车长}+\text{桥长}
所以根据神奇海螺的提示,这题就是一个相遇问题,而路程和就是两辆车的长度之和
所以套用相遇问题的公式,就珂以直接得出答案啦!
cout<<(220+260)/(20+12);
Problem 6
到目前为止都是小学数学,但是第六题开始,出题人就逐渐忘记了标题……
这个题如果你是小学生的话,没准还真做不出来(当然,热爱提前学习的小学生除外)——因为这涉及到一个初中数学中一个非常重要的几何问题——勾股定理
勾股定理:在一个直角三角形中,两直角边的平方和等于斜边的平方
这样的话,答案就应该等于
cout<<sqrt(6*6+9*9);
Problem 7
第7题这还算是是小学数学,一年级的加减法即可
答案就是110,90,0
Problem 8
这个题的话,前两问还算是小学数学,但是在后面的话,球体的体积公式可能就有人不知道了
\text{圆的周长:}C=2\pi r \text{圆的面积:}S=\pi r^2 \text{球的体积:}V=\frac{4}{3}\pi r^3
其它要注意的就是3/4一定要强转成double!至于怎么转,乘1.0就好啦!
cout<<pi*10<<endl<<pi*25<<endl<<4/3*pi*125<<endl;
当然像圆周率
const double pi=3.141593;
Problem 9
如果你是入门赛的忠实粉丝的话,你会发现这个题是上次- P5743 【深基7.习8】猴子吃桃的弱化版
这个题又直接指向小学奥数的另一类问题:用倒推法解还原问题
还原问题,就是已知最后的状态,倒推出一开始的状态
怎么倒推呢,总结成一句话:拿了我的给我送回来,吃了我的给我吐出来
也就是说,我们可以从最后的一个桃子出发,由于是吃了一半,又吃了一个桃子,所以我们倒推的话就是先把那一个桃子加回去,再把桃子变成2倍,也就是加1,乘2
cout<<((((1+1)*2)+1*2)+1)*2;
当然你也可以写个循环,甚至用递归……总之最后可以得到答案22
Problem 10
这个题是我要重点讲的——这个题算是小学奥数最难也不为过了。没错,它就是臭名昭著,令人闻风丧胆的——牛吃草问题!
牧场上有一片青草,每天都生长得一样快。这片青草供给10头牛吃,可以吃22天,或者供给16头牛吃,可以吃10天,期间一直有草生长。如果供给25头牛吃,可以吃多少天?
看出相似度来了吧?说句题外话,这题是由牛顿大爷提出的,所以又叫牛顿问题
那这种问题究竟要怎么解呢???让我们慢慢来:
-
首先,我们设每头牛(评测机)一天能吃一份艹(评测任务)
-
求出每天增长的艹的数量
首先,第一组例子就是
这
这
也就是说:在
所以说每天就增加了
- 求出原有的艹的数量
这个就简单些了:根据刚才的式子,我们可以求出来:
原有的艹
所以从第一个式子看出:原有的艹
3.通过最后的条件,最终解决问题
要求的东西,翻译成“牛吃草语言”就是:
几头牛才能吃
首先,这
对应的,这些牛也要分成两拨去完成吃艹的任务
首先,这增长的
那原有的15份艹,要10天吃完,需要派
所以一共就是
当然,如果你的数学有初中水平的话,你还可以列一个二元一次方程组,设原有
(不会用
然后可以解得
和上面的小学生方法是完全一样的!
update:
后来看了其它小伙伴们的题解,发现这题有个神奇的做法——
肉眼可见,评测机越多,用时越短,既然评测时间
啊……我辛辛苦苦写的;牛吃草……白做了……
Problem 11
这个又双叒叕是行程问题,这次是追及问题!,公式是:
\text{路程差}\div\text{速度差}=\text{追及时间}
很好理解!还可以类比刚才的相遇问题一起记!
那就简单啦,记得转成double
cout<<1.0*100/3;
Problem 12
出题人都已经偏题偏到开普勒-452b行星了,这题不考数学,改考英语了!
有点英语知识的都知道:答案分别是
当然你也可以利用int类型和char类型的转换做题:
cout<<(int)('M'-'A')+1<<endl<<(char)(18+'A'-1);
Problem 13
这个题算是Problem 8的升级版,也算是小学五年级应用题的思想,利用体积相同转化问题,再来复习一下公式:
\text{球的体积:}V=\frac{4}{3}\pi r^3 \text{正方体的体积:}V=a^3
但是问题来了,根据体积求边长需要三次根号,但是cmath里面没有三次根号的函数啊,不过没关系:
所以嘛,
(话说分数指数幂是高中数学内容哎,你确定是小学数学???)
cout<<(int)(pow(4/3*pi*(4*4*4+10*10*10),1.0*1/3));
Problem 14
天哪!现在小学都学一元二次方程了吗?!
没错,这题确实是一道经典的一元二次方程的应用题——薄利多销问题,利润减小,销量随之增大,是典型的二次方程!
那这题我们就设降价
解方程的话,我们用因式分解法吧!
也就是说售价分别为
但问题来了,如果你不会解一元二次方程咋办呢?
历经九九八十一难,我们终于可以A掉这个题了!
(耗时两小时,制作不易,希望大家喜欢)
The end~