【洛谷算法题】P2433-小学数学 N 合一【入门2分支结构】

news2024/12/22 0:18:04

花无缺

👨‍💻博客主页:@花无缺
欢迎 点赞👍 收藏⭐ 留言📝 加关注✅!
本文由 花无缺 原创

收录于专栏 【洛谷算法题】


文章目录

  • 【洛谷算法题】P2433-小学数学 N 合一【入门2分支结构】
    • 🌏题目描述
      • 🌙问题 1
      • 🌙问题 2
      • 🌙问题 3
      • 🌙问题 4
      • 🌙问题 5
      • 🌙问题 6
      • 🌙问题 7
      • 🌙问题 8
      • 🌙问题 9
      • 🌙问题 10
      • 🌙问题 11
      • 🌙问题 12
      • 🌙问题 13
      • 🌙问题 14
    • 🌏输入格式
    • 🌏输出格式
    • 🌏样例 #1
      • 🌙样例输入 #1
      • 🌙样例输出 #1
    • 🌏提示
    • 🌏题解
    • 🌏总结
      • 🌙problem 1
      • 🌙problem 2
      • 🌙problem 3
      • 🌙problem 4
      • 🌙problem 5
      • 🌙problem 6
      • 🌙problem 7
      • 🌙problem 8
      • 🌙problem 9
      • 🌙problem 10
      • 🌙problem 11
      • 🌙problem 12
      • 🌙problem 13
      • 🌙problem 14


【洛谷算法题】P2433-小学数学 N 合一【入门2分支结构】

题目链接:【深基1-2】小学数学 N 合一 - 洛谷

🌏题目描述

🌙问题 1

请输出 I love Luogu!

🌙问题 2

这里有 10 10 10 个苹果,小 A 拿走了 2 2 2 个,Uim 拿走了 4 4 4 个,八尾勇拿走剩下的所有的苹果。我们想知道:

  1. 小A 和 Uim 两个人一共拿走多少苹果?
  2. 八尾勇能拿走多少苹果?

现在需要编写一个程序,输出两个数字作为答案,中间使用空格分开。

🌙问题 3

现在有 14 14 14 个苹果。要均分给 4 4 4 名同学,分不掉的苹果放回冰箱。请问:

  1. 每位同学能分得几个苹果?

  2. 一共分出去多少苹果?

  3. 把几个苹果放回冰箱?

现在需要编写一个程序,输出三个数字作为答案,每个数字一行。

🌙问题 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 元。经过了下面的操作:

  1. 往里面存了 10 10 10 元;

  2. 购物花掉了 20 20 20 元;

  3. 把里面的钱全部取出。

请在每次操作后输出账户余额,并使用换行符隔开。

🌙问题 8

当半径为 r = 5 r=5 r=5,请输出圆的周长、面积和球体积。取 π = 3.141593 \pi=3.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 是第一个字母。现在请编程求出:

  1. M 是字母表中的第几个字母?
  2. 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

🌏提示

请解决以下小学数学题。你可以提交答案,也可以写一个程序。

对于本题来说,如果你不知道怎么输入,也可以这么抄:

#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;
}

🌏题解

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

直接用公式:

圆的周长:C=2π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 头牛吃,可以吃多少天?

这个题就和本题非常的相似,草每天都在增长,此题中评测速率也在增快

可以列出一个方程组:

x+30y=8×30;
x+6y=10×6;

其中,x是初始的评测时间,y是每分钟的增长量

解得: x = 5;y = 7.5;

则答案等于:(15+7.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 = 70;x2 = 50;

或者 x1 = 50,x2 = 70;

题目要求要小的那个。

所以输出 50 就OK了。

System.out.println(50);

作者:花无缺(huawuque404.com)


🌸欢迎关注我的博客:花无缺-每一个不曾起舞的日子都是对生命的辜负~
🍻一起进步-刷题专栏:【洛谷算法题】
💻Java题解同步仓库:https://github.com/huawuque404/Java-solution
🥇往期精彩好文:
📢【CSS选择器全解指南】
📢【HTML万字详解】
你们的点赞👍 收藏⭐ 留言📝 关注✅
是我持续创作,输出优质内容的最大动力!
谢谢!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1139030.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MySQL数据库基本操作1

文章目录 主要内容一.DDL1.创建表代码如下&#xff08;示例&#xff09;: 2.创建表的类型3.其他操作4.修改表结构格式代码如下&#xff08;示例&#xff09;: 二.DML1.数据插入代码如下&#xff08;示例&#xff09;: 2.数据修改代码如下&#xff08;示例&#xff09;: 3.数据删…

力扣第406题 根据身高重建队列 c++ 贪心思维

题目 406. 根据身高重建队列 中等 相关标签 贪心 树状数组 线段树 数组 排序 假设有打乱顺序的一群人站成一个队列&#xff0c;数组 people 表示队列中一些人的属性&#xff08;不一定按顺序&#xff09;。每个 people[i] [hi, ki] 表示第 i 个人的身高为 hi &am…

Qt在Android上设置连接到指定的WIFI

在Android上使用Qt设置连接到指定的Wi-Fi网络需要使用Java代码来完成,涉及到Android平台特定的API和权限。接下来下面将会演示如何在Qt中调用Java代码来实现这一功能。 【1】在Qt项目中创建一个名为"AndroidWifiConnector"的Java类。 (新建文件,选择JAVA类型,名字…

解决 viteprees 中 vp-doc 内置样式影响组件预

解决 viteprees 中 vp-doc 样式影响组件预览 问题 当使用"vitepress": "1.0.0-rc.22"作为组件库文档时&#xff0c;会自动引入vitepress的默认主题&#xff0c; 其中vp-doc中有大量的html标签样式 ... .vp-doc table {display: block;border-collapse: …

前端开发技术栈(工具篇):2023深入了解webpack的安装和使用以及核心概念和启动流程(详细) 63.3k stars

目录 Webpack简介 Entry Module Chunk Loader Plugin Output Webpack的启动流程 Webpack的优缺点 Webpack的使用 1. 安装Webpack 2. 创建Webpack配置文件 3. 编写代码 4. 运行Webpack 5. 在HTML中引入打包后的文件 6. 执行编译命令 Webpack其他功能介绍 1. 使…

map与set

目录 set的key搜索树模拟 set内置的find与count函数 ​编辑 set的lower_bound与upper_bound内置函数、 map的key-value搜索树模拟 通过不同的方式向map中插入键值对。 map的遍历 ​编辑 map的operator的 [ ] 用法 关于map与set用法的几个例题 例题1&#xff1a; 随机…

V3Det大规模词汇视觉检测数据集与LaRS海上全景障碍物检测数据集

V3Det与LaRS是ICCV2023上发表的数据集工作&#xff0c;规模都比较大&#xff0c;后续有可能会用到&#xff0c;因此记录下来。 V3Det: Vast Vocabulary Visual Detection Dataset Paper: https://arxiv.org/abs/2304.03752 URL: https://v3det.openxlab.org.cn/ 在现实世界中…

Bootstrap中CSS媒体查询分辨率 @media(min-width)例子

Bootstrap中CSS媒体查询分辨率 media&#xff08;min-width&#xff09;例子 css media min-width max-width 解释&#xff1a; min-width 表示最小即大于等于max-width 表示最大即小于等于 media screen and (min-width : 320px) {html {font-size : 10px !important;} } medi…

geoserve 发布 Styles 样式时,设置边框、填充以及填充透明度

文章目录 需求分析需求 设置 geoserve 发布的 Styles 样式中的边框、填充以及填充透明度 分析 具体详细使用可参考这篇文文章:在 GeoServer 上发布 Shapefile 文件作为 WMS 数据 <?xml version="1.0" encoding=

Git Gui使用技巧

资料 https://www.runoob.com/w3cnote/git-gui-window.html 操作过程 创建仓库→添加远程仓库→扫描目录→文件移动→提交→上传 注意填注释 文件忽略 创建文件.gitignore→编写内容 *.log #文件 config.ini #文件 temp/ #目录

App分发的策略和注意事项2

当今的数字化时代中&#xff0c;移动应用程序已经成为了人们生活中不可或缺的一部分。随着智能手机的普及和移动互联网的快速发展&#xff0c;应用程序的分发方式也变得越来越多样化。 App分发是指将移动应用程序通过特定的渠道传递给终端用户的过程。在应用程序开发完成后&am…

MySQL 多表查询 事务 索引

目录 多表查询简介内连接查询 join on外连接查询 left join、right join子连接查询标量子查询列子查询 (in、not in)行子查询表子查询 多表查询案例 事务事务介绍操作 start transaction、commit、rollback事务四大特性(面试题) 索引索引介绍索引原理索引语法 index 上次学习了…

一款适用于勒索病毒应急演练加解密工具

decryption-encryption 介绍 #encryption.exe为加密脚本 #decryption.exe为解密脚本 1、运行加密脚本&#xff0c;点击运行程序输入密码&#xff1a;TaSt12.2 输入需要加密的文件路径或文件夹路径&#xff0c;确定后即可对路径下面的所有格式文件进行加密&#xff1b; 2、…

安卓核心板_天玑700、天玑720、天玑900_5G模块规格参数

5G安卓核心板是采用新一代蜂窝移动通信技术的重要设备。它支持万物互联、生活云端化和智能交互的特性。5G技术使得各类智能硬件始终处于联网状态&#xff0c;而物联网则成为5G发展的主要动力。物联网通过传感器、无线网络和射频识别等技术&#xff0c;实现了物体之间的互联。而…

淘宝API接口获取商品信息,订单管理,库存管理,数据分析

在淘宝开放平台中&#xff0c;每个API接口都有相应的文档说明和授权机制&#xff0c;以确保数据的安全性和可靠性。开发者可以根据自己的需求选择相应的API接口&#xff0c;并根据文档说明进行调用和使用。 淘宝开放平台API接口是一套REST方式的开放应用程序编程接口&…

Java注解及自定义注解

注解/元数据&#xff08;Annotation&#xff09;&#xff0c;是对代码级别的说明&#xff1b;在JDK1.5及以后版本引入的一个特性&#xff0c;与类、接口、枚举是在同一个层次。可以声明在包、类、字段、方法、局部变量、方法参数等的前面&#xff0c;用来对这些元素进行说明、注…

三、虚拟机的迁移和删除

虚拟机的本质就是文件(放在文件夹的)。因此虚拟机的迁移很方便&#xff0c;可以把安装好的虚拟系统这个文件夹整体拷贝或者剪切到另外的位置使用。删除也很简单&#xff0c;使用vmware进行移除&#xff0c;再点菜单->从磁盘删除即可&#xff0c;或者手动删除虚拟系统对应的文…

【C++入门系列】——类和对象中篇

​作者主页 &#x1f4da;lovewold少个r博客主页 ⚠️本文重点&#xff1a;C构造函数、构析函数、运算符重载等详解 &#x1f604;前篇文章链接&#xff1a;【类和对象上】http://t.csdnimg.cn/bTQ0Y 目录 前言 类的默认成员函数 构造函数 默认构造 全缺省和无参默认构造 …

vue3+vite引入图片不能再用require,要使用new Url(完整方法步骤)

由于vite里面没有require(), 所以需要封装个工具 export const getAssetURL (image) > {// 参数一: 相对路径// 参数二: 当前路径的URLreturn new URL(../assets/img/${image}, import.meta.url).href }

【Proteus仿真】【Arduino单片机】直流电机和步进电机

文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用Proteus8仿真Arduino单片机控制器&#xff0c;使用蜂鸣器、按键、直流电机、步进电机、ULN2003、L293D等。 主要功能&#xff1a; 系统运行后&#xff0c;K3键启动运行&#xff0c;K1和K2键控制…