【洛谷算法题】P1425-小鱼的游泳时间【入门1顺序结构】

简介: 【洛谷算法题】P1425-小鱼的游泳时间【入门1顺序结构】

【洛谷算法题】P1425-小鱼的游泳时间【入门1顺序结构】

题目链接:小鱼的游泳时间 - 洛谷

🌏题目描述

伦敦奥运会要到了,小鱼在拼命练习游泳准备参加游泳比赛,可怜的小鱼并不知道鱼类是不能参加人类的奥运会的。

这一天,小鱼给自己的游泳时间做了精确的计时(本题中的计时都按 24 2424 小时制计算),它发现自己从 a aab bb 分一直游泳到当天的 c ccd dd 分,请你帮小鱼计算一下,它这天一共游了多少时间呢?

小鱼游的好辛苦呀,你可不要算错了哦。

🌏输入格式

一行内输入四个整数,以空格隔开,分别表示题目中的 a , b , c , d a, b, c, da,b,c,d

🌏输出格式

一行内输出两个整数 e eef ff,用空格间隔,依次表示小鱼这天一共游了多少小时多少分钟。其中表示分钟的整数 f ff 应该小于 60 6060

🌏样例 #1

🌙样例输入 #1

12 50 19 10

🌙样例输出 #1

6 20

🌏提示

对于全部测试数据,0 ≤ a , c ≤ 24 0\le a,c \le 240a,c240 ≤ b , d ≤ 60 0\le b,d \le 600b,d60,且结束时间一定晚于开始时间。

🌏题解

题解一:

import java.util.Scanner;
public class P1425 {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int a = in.nextInt(), b = in.nextInt(), c = in.nextInt(), d = in.nextInt();
        // 将两个时间点内的时间差转换为分钟数, 然后再得出小时和分钟数
        int e = ((c - a) * 60 - b + d) / 60;
        int f = ((c - a) * 60 - b + d) % 60;
        System.out.print(e + " " + f);
        in.close();
    }
}

题解二:

import java.util.Scanner;
public class P1452 {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int a = in.nextInt(), b = in.nextInt(), c = in.nextInt(), d = in.nextInt();
        // 小时
        int x = c - a;
        // 分钟
        int y = d - b;
        // 如果分钟数为负数, 则小时加1,分钟等于 y 加 60
        if(y < 0) {
            x--;
            y = y + 60;
        }
        System.out.println(x + " " + y);
        in.close();
    }
}

🌏总结

这个题思路很简单,一般来说有两种做法:

  1. 把相差的时间全部转换成分钟数,然后使用除法和取余输出小时和分钟数。
  2. 小时减去小时,分钟减去分钟。然后直接输出对应的结果。因为结束时间一定晚于开始时间,而且同为 24 小时制,所以小时可以不用考虑出现负数的情况;而如果分钟数出现负数,则可以让小时数减 1,分钟数用 60 加上这个负数就得到了正确的结果。

作者:花无缺(huawuque404.com)


相关文章
|
2月前
|
机器学习/深度学习 人工智能 算法
深度学习入门:理解神经网络与反向传播算法
【9月更文挑战第20天】本文将深入浅出地介绍深度学习中的基石—神经网络,以及背后的魔法—反向传播算法。我们将通过直观的例子和简单的数学公式,带你领略这一技术的魅力。无论你是编程新手,还是有一定基础的开发者,这篇文章都将为你打开深度学习的大门,让你对神经网络的工作原理有一个清晰的认识。
|
10天前
|
算法 测试技术 开发者
在Python开发中,性能优化和代码审查至关重要。性能优化通过改进代码结构和算法提高程序运行速度,减少资源消耗
在Python开发中,性能优化和代码审查至关重要。性能优化通过改进代码结构和算法提高程序运行速度,减少资源消耗;代码审查通过检查源代码发现潜在问题,提高代码质量和团队协作效率。本文介绍了一些实用的技巧和工具,帮助开发者提升开发效率。
14 3
|
22天前
|
存储 缓存 算法
如何通过优化算法和代码结构来提升易语言程序的执行效率?
如何通过优化算法和代码结构来提升易语言程序的执行效率?
|
1月前
|
机器学习/深度学习 算法
机器学习入门(三):K近邻算法原理 | KNN算法原理
机器学习入门(三):K近邻算法原理 | KNN算法原理
|
1月前
|
机器学习/深度学习 算法 大数据
机器学习入门:梯度下降算法(下)
机器学习入门:梯度下降算法(下)
|
1月前
|
机器学习/深度学习 算法 API
机器学习入门(五):KNN概述 | K 近邻算法 API,K值选择问题
机器学习入门(五):KNN概述 | K 近邻算法 API,K值选择问题
|
1月前
|
机器学习/深度学习 算法
机器学习入门:梯度下降算法(上)
机器学习入门:梯度下降算法(上)
|
3月前
|
存储 缓存 算法
深入解析B树:数据结构、存储结构与算法优势
深入解析B树:数据结构、存储结构与算法优势
|
3月前
|
存储 算法
【C算法】编程初学者入门训练140道(1~20)
【C算法】编程初学者入门训练140道(1~20)
|
17天前
|
算法 安全 数据安全/隐私保护
基于game-based算法的动态频谱访问matlab仿真
本算法展示了在认知无线电网络中,通过游戏理论优化动态频谱访问,提高频谱利用率和物理层安全性。程序运行效果包括负载因子、传输功率、信噪比对用户效用和保密率的影响分析。软件版本:Matlab 2022a。完整代码包含详细中文注释和操作视频。