题目
原题目在[P2433 【深基1-2】小学数学 N 合一 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)]
【深基1-2】小学数学 N 合一
题目描述
问题 1
请输出 I love Luogu!
问题 2
这里有 $10$ 个苹果,小 A 拿走了 $2$ 个,Uim 拿走了 $4$ 个,八尾勇拿走剩下的所有的苹果。我们想知道:
- 小A 和 Uim 两个人一共拿走多少苹果?
- 八尾勇能拿走多少苹果?
现在需要编写一个程序,输出两个数字作为答案,中间使用空格分开。
问题 3
现在有 $14$ 个苹果。要均分给 $4$ 名同学,分不掉的苹果放回冰箱。请问:
-
每位同学能分得几个苹果?
-
一共分出去多少苹果?
-
把几个苹果放回冰箱?
现在需要编写一个程序,输出三个数字作为答案,每个数字一行。
问题 4
现在有 $500$ 毫升的肥宅快乐水,要均分给 $3$ 名同学,每位同学可以分到多少毫升?请输出一个数字作为输出。保留 $6$ 位有效数字,且不使用科学计数法。
问题 5
甲列火车长 $260$ 米,每秒行 $12$ 米;乙列火车长 $220$ 米,每秒行 $20$ 米,两车相向而行,从两车车头相遇时开始计时,多长时间后两车车尾相离?已知答案是整数。
问题 6
一个长方形长宽分别是 $6 \text{ cm}$、$9 \text{ cm}$,求它的对角线长度($\text{cm}$)。直接使用 cout
输出。
问题 7
Uim 银行账户里面有 $100$ 元。经过了下面的操作:
-
往里面存了 $10$ 元;
-
购物花掉了 $20$ 元;
-
把里面的钱全部取出。
请在每次操作后输出账户余额,并使用换行符隔开。
问题 8
当半径为 $r=5$,请输出圆的周长、面积和球体积。取 $\pi=3.141593$。请直接使用 cout
输出答案,每行一个数字。
问题 9
一只小猴买了若干个桃子。第一天他刚好吃了这些桃子的一半,又贪嘴多吃了一个;第二天他也刚好吃了剩余桃子的一半,贪嘴多吃了一个;第三天他又刚好吃了剩下的桃子的一半,并贪嘴多吃了一个。第四天起来一看,发现桃子只剩下一个了。请问小猴买了几个桃子?
问题 10
洛谷的评测任务是单位时间内均匀增加的。$8$ 台评测机 $30$ 分钟可以刚好把评测队列中的程序评测完毕,$10$ 台评测机 $6$ 分钟可以刚好把评测队列中的程序评测完毕,请问几台评测机可以在 $10$ 分钟时刚好把评测队列中的程序评测完毕?
问题 11
小 A 跑步速度 $5 \text{ m/s}$,八尾勇跑步速度 $8 \text{ m/s}$,八尾勇在小 A 后面 $100 \text{ m}$,他们同时起跑,请问需要多长时间八尾勇可以追上小 A?输出一个数字表示答案,使用 cout
直接输出。
问题 12
大家都知道有 $26$ 个英文字母,其中 A 是第一个字母。现在请编程求出:
- M 是字母表中的第几个字母?
- 第 $18$ 个字母是什么?
输出一个数字和一个字母,使用换行隔开。
问题 13
小 A 有两块球形橡皮泥,一个半径是 $4$,一个半径是 $10$。他想把这两块橡皮泥揉在一起,然后塑造成一个正方体,请问这个正方体的棱长是多少?如果结果不是整数,则舍去小数点之后的数字。取 $\pi = 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
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;
}
做题时候需要注意的一些问题
这些题目本身解出来并不费多大功夫,但是关于输出的一些限制会导致这个题目非常容易出错。
问题4
问题4对输出位数进行了要求,是6位有效数字,这意味着不光小数位算在6位中,整数位也包括在有效数字范围内。
在C++中,cout是默认输出6位有效数字,并且会自动四舍五入。因此一种比较方便的思路是使用cout进行输出
cout<<500.0/3;
注:cout的有效位数可以进行更改,灵活保留有效数字:
#include<iostream>
#include<stdio.h>
using namespace std;
int main(){
double a = 3.14159265358979;
//cout默认输出6位有效数字
cout<<a<<endl;
//cout.precision(n)可以将数字保留n位有效数字进行输出
cout.precision(2);
cout<<"保留两位有效:"<<endl;
cout<<a<<endl;
//cout.flags(cout.fixed)若使用该函数之前,保留n位有效数字输出,使用后会保留n位小数位进行输出
cout.precision(3);
cout.flags(cout.fixed);//定点法
cout<<a<<endl;
//使用上述函数之后,在使用precision函数会起到设置小数位的作用
cout.precision(5);
cout<<a<<endl;
//使用unsetf(cout.fixed)函数可以使cout函数恢复保留固定有效数字的功能
cout.unsetf(cout.fixed);//取消定点法
cout<<a<<endl;
}
问题8
在求球的体积时容易出错:
cout<<(4/3*3.141593*r*r*r)
和
cout<<(4.0/3*3.141593*r*r*r)
这两个示例输出的体积会有所不同,原因在于,尽管在二元运算中,整数和浮点数相乘输出的结果是浮点数,但是C语言同级运算具有从左往右运算的性质,而整数除以整数在结果是浮点数的时候会自动截断小数位,这就导致了这两个运算实际上是:
cout<<(1*3.141593*r*r*r)
和
cout<<(1.33333333*3.141593*r*r*r)
第一个示例由于截断小数位会导致精度丢失,最终导致计算结果比正确结果小很多。
问题13
这个问题最容易出错的地方同问题8
此外,要学会使用pow函数进行数字的指数运算。
printf("%d",(int)pow(4.0/3*3.141593*(4*4*4+10*10*10),1.0/3.0));
//pow(double a,double b)进行a的b次方运算。
标签:10,cout,输出,有效数字,深基,问题,P2433,合一,评测
From: https://www.cnblogs.com/chuwuhu/p/18005904