网站首页制作模板,wordpress 如何修改网页标题,响应式网站建设智能优化,网站设计包括什么软件#x1f468;#x1f4bb;博客主页#xff1a;花无缺 欢迎 点赞#x1f44d; 收藏⭐ 留言#x1f4dd; 加关注✅! 本文由 花无缺 原创 收录于专栏 【洛谷算法题】 文章目录 【洛谷算法题】P2433-小学数学 N 合一【入门2分支结构】#x1f30f;题目描述#x1f319;问题… 博客主页花无缺 欢迎 点赞 收藏⭐ 留言 加关注✅! 本文由 花无缺 原创 收录于专栏 【洛谷算法题】 文章目录 【洛谷算法题】P2433-小学数学 N 合一【入门2分支结构】题目描述问题 1问题 2问题 3问题 4问题 5问题 6问题 7问题 8问题 9问题 10问题 11问题 12问题 13问题 14 输入格式输出格式样例 #1样例输入 #1样例输出 #1 提示题解总结problem 1problem 2problem 3problem 4problem 5problem 6problem 7problem 8problem 9problem 10problem 11problem 12problem 13problem 14 【洛谷算法题】P2433-小学数学 N 合一【入门2分支结构】
题目链接【深基1-2】小学数学 N 合一 - 洛谷
题目描述
问题 1
请输出 I love Luogu!
问题 2
这里有 10 10 10 个苹果小 A 拿走了 2 2 2 个Uim 拿走了 4 4 4 个八尾勇拿走剩下的所有的苹果。我们想知道
小A 和 Uim 两个人一共拿走多少苹果八尾勇能拿走多少苹果
现在需要编写一个程序输出两个数字作为答案中间使用空格分开。
问题 3
现在有 14 14 14 个苹果。要均分给 4 4 4 名同学分不掉的苹果放回冰箱。请问 每位同学能分得几个苹果 一共分出去多少苹果 把几个苹果放回冰箱
现在需要编写一个程序输出三个数字作为答案每个数字一行。
问题 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 元。经过了下面的操作 往里面存了 10 10 10 元 购物花掉了 20 20 20 元 把里面的钱全部取出。
请在每次操作后输出账户余额并使用换行符隔开。
问题 8
当半径为 r 5 r5 r5请输出圆的周长、面积和球体积。取 π 3.141593 \pi3.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 是第一个字母。现在请编程求出
M 是字母表中的第几个字母第 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提示
请解决以下小学数学题。你可以提交答案也可以写一个程序。
对于本题来说如果你不知道怎么输入也可以这么抄
#includeiostream
// 填上你觉得需要的其他头文件
using namespace std;
int main() {int T;cin T;if (T 1) {// 粘贴问题 1 的主函数代码除了 return 0cout I love Luogu!;} else if (T 2) {// 粘贴问题 2 的主函数代码除了 return 0cout 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;
}题解
import java.util.Scanner;
import java.math.BigDecimal;
import java.math.MathContext;
public class Main {public static void main(String[] args) {Scanner in new Scanner(System.in);int judge in.nextInt();double PI 3.141593;switch (judge) {case 1 : System.out.println(I love Luogu!);break;case 2 : System.out.println(6 4);break;case 3 : System.out.println(14 / 4);System.out.println(4 * (14 / 4));System.out.println(14 % 4);break;case 4 : System.out.printf(%.3f,500 / 3.0);break;case 5 : System.out.println(480 / 32);break;case 6 : double number Math.sqrt(6*6 9*9);BigDecimal b new BigDecimal(String.valueOf(number)); BigDecimal divisor BigDecimal.ONE;MathContext mc new MathContext(6);System.out.println(b.divide(divisor, mc));break;case 7 : System.out.println(110);System.out.println(90);System.out.println(0);break;case 8 :System.out.printf(%.4f\n,2 * PI * 5);System.out.printf(%.4f\n,PI * 25);System.out.printf(%.3f,4.0 / 3 * PI * 5 * 5 * 5);break;case 9 :System.out.println(fun(3));break;case 10 :System.out.println(9);break;case 11 :System.out.printf(%.4f,100 / 3.0);break;case 12 :System.out.println((int)M - 64);System.out.println((char)(A 17));break;case 13 :double A 4.0 / 3 * PI * 4 * 4 * 4;double B 4.0 / 3 * PI * 10 * 10 * 10;System.out.printf(%.0f,Math.pow((A B), 1.0 / 3.0));break;case 14 :System.out.println(50);break;}in.close();}public static int fun(int n) {int sum 1;for (int i 1; i n; i) {sum (sum 1) * 2;}return sum;}
}总结
从本篇文章开始我们将进入洛谷官方题单【入门2】分支结构的练习主要针对我们对于编程语言中分支结构的熟悉和使用。
今天这个题总共有 14 个小问题我们要根据输入的题号输出对应的结果显然这需要采用一个多分支结构来完成。这里我们使用了 switch 语句来完成多分支语句。接下来我将给大家一一讲解每个题怎么做。
problem 1
一个简单的输出语句。
System.out.println(I love Luogu!);problem 2
一个简单的数学问题。如果这样的数学题你不会做的话那么我表示你很棒可以重新回小学看望一下你的小学数学老师你看他打不打你就完了。
System.out.println(6 4);problem 3
一个简单的数学问题。
System.out.println(14 / 4);
System.out.println(4 * (14 / 4));
System.out.println(14 % 4);problem 4
System.out.printf(%.3f,500 / 3.0);这个题有一个易错点保留6位有效数字不要误认为保留六位有效数字就是保留六位小数。有效数字是指从第一个不为0的数字开始后的数字而且不算上末尾的 0。
例如
1.3454位有效数字
0.041位有效数字
0.004533位有效数字
0.7830003位有效数字
Java 保留有效数字的方法
public class Test {public static void main(String[] args) {Scanner in new Scanner(System.in);double number 0.06789;BigDecimal b new BigDecimal(String.valueOf(number)); BigDecimal divisor BigDecimal.ONE;// 保留几位有效数字就把 2 改成几MathContext mc new MathContext(2);System.out.println(b.divide(divisor, mc));in.close();}
}problem 5
一个数学行程的问题。此题是一个相遇问题解题关键点时间相同且相遇时和离开时的总距离都是相同的。
直接上公式
相遇问题路程和 时间 * 速度和
System.out.println(480 / 32);problem 6
这个就是利用三角形勾股定理来做。利用 Java 的平方根函数sqrt()。但是这个题需要注意一个细节就是题目中要求使用C做的话直接使用cout输出结果而在C中cout默认输出浮点数保留 6 位有效数字所以当我们转换为 Java 语言来做这个题目的时候我们也要将结果保留 6 位有效数字。
double number Math.sqrt(6*6 9*9);
BigDecimal b new BigDecimal(String.valueOf(number));
BigDecimal divisor BigDecimal.ONE;
MathContext mc new MathContext(6);
System.out.println(b.divide(divisor, mc));problem 7
简单的数学题。
System.out.println(110);
System.out.println(90);
System.out.println(0);problem 8
直接用公式
圆的周长C2πr
圆的面积Sπr2
球的体积V(4/3)πr3这个题也同样要求使用cout输出结果也即要保留 6 位有效数字我们使用Java做时也不一定都要按保留有效数字的那个方法来做有时候太麻烦了我们可以先看结果有多少位小数再使用格式控制符保留到 6 位小数就达到了保留 6 位有效数字的目的如下
System.out.printf(%.4f\n,2 * PI * 5);
System.out.printf(%.4f\n,PI * 25);
System.out.printf(%.3f,4.0 / 3 * PI * 5 * 5 * 5);problem 9
从最后一天起往前递推就可以得到第一天的桃子总数前一天的桃子数等于今天的桃子数加 1 的两倍就这样循环 n 次就可以推出第一天的桃子数量。
public static int fun(int n) {int sum 1;for (int i 1; i n; i) {sum (sum 1) * 2;}return sum;}
System.out.println(fun(3));problem 10
这个题有个简单的做法就是所求的数量是在 8 到 10 之间的而又只能是整数所以只能是 9这样就做出来了。
但是还是要看看正确的做法。这是一个牛吃草问题那么什么是牛吃草问题呢。
例如这样的问题 牧场上有一片青草每天都生长得一样快。这片青草供给 10 头牛吃可以吃 22 天或者供给 16 头牛吃可以吃 10 天期间一直有草生长。如果供给 25 头牛吃可以吃多少天
这个题就和本题非常的相似草每天都在增长此题中评测速率也在增快
可以列出一个方程组
x30y8×30;
x6y10×6;其中x是初始的评测时间y是每分钟的增长量
解得 x 5y 7.5
则答案等于(157.5×10)÷10 9 台评测机器。
problem 11
一个简单的追及问题。八尾勇追上小A的总路程 小A的路程加上100米
得方程5t 100 8t t 100 / 3
System.out.printf(%.4f,100 / 3.0);problem 12
利用 ASCII 码来解答A 的 ASCII 码为 65根据这个往后推就可以得出结果。
System.out.println((int)M - 64);
System.out.println((char)(A 17));problem 13
先算出两个橡皮泥的总体积再开立方根求出正方体的棱长。
double A 4.0 / 3 * PI * 4 * 4 * 4;
double B 4.0 / 3 * PI * 10 * 10 * 10;
System.out.printf(%.0f,Math.pow((A B), 1.0 / 3.0));problem 14
用一个一元二次方程组就搞定了
设降价 x 元售价就为110 x 元
得方程
(110 x1)(10 − x2) 3500
解出来得x1 70x2 50
或者 x1 50x2 70
题目要求要小的那个。
所以输出 50 就OK了。
System.out.println(50);作者花无缺(huawuque404.com) 欢迎关注我的博客花无缺-每一个不曾起舞的日子都是对生命的辜负~ 一起进步-刷题专栏【洛谷算法题】 Java题解同步仓库https://github.com/huawuque404/Java-solution 往期精彩好文 【CSS选择器全解指南】 【HTML万字详解】 你们的点赞 收藏⭐ 留言 关注✅ 是我持续创作输出优质内容的最大动力 谢谢