【洛谷算法题】P1424-小鱼的航程(改进版)【入门2分支结构】Java题解

发布时间:2023年12月18日

花无缺

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

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



【洛谷算法题】P1424-小鱼的航程(改进版)【入门2分支结构】

小鱼的航程(改进版) - 洛谷

🌏题目描述

有一只小鱼,它平日每天游泳 250 250 250 公里,周末休息(实行双休日),假设从周 x x x 开始算起,过了 n n n 天以后,小鱼一共累计游泳了多少公里呢?

🌏输入格式

输入两个正整数 x , n x,n x,n,表示从周 x x x 算起,经过 n n n 天。

🌏输出格式

输出一个整数,表示小鱼累计游泳了多少公里。

🌏样例 #1

🌙样例输入 #1

3 10

🌙样例输出 #1

2000

🌏提示

数据保证, 1 ≤ x ≤ 7 1\le x \le 7 1x7 1 ≤ n ≤ 1 0 6 1 \le n\le 10^6 1n106

🌏题解

import java.util.Scanner;

public class P1424 {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int x = in.nextInt(), n = in.nextInt();
        // sum 表示小鱼游泳的总天数
        int sum = 0;
        while (n > 0) {
            // 星期六和星期天休息
            if (x != 6 && x != 7) sum++;
            x = x + 1;
            // 当 x 累加到 8 时, 表示已经到第二个星期的星期一了
            if (x == 8) x = 1;
            // 天数减一
            n--;
        }
        System.out.println(sum * 250);
        in.close();
    }
}

🌏总结

这个题我们可以通过模拟的方式来解决,我们通过维护变量 x,将小鱼在经过 n 天后的总共需要游泳的天数,也即周一到周五的天数计算出来就可以得到小鱼的总游泳距离了。x 代表星期数,x = 1 表示星期一,x = 7 表示星期天,而当 x = 8 时表示已经到下一个星期的周一了,然后周一到周五时将小鱼游泳的天数累加,周六周天则直接跳过,经过 n 次循环,也即经过 n 天后,可以得到小鱼游泳的总天数,将总天数乘以每天游泳的距离就得到小鱼经过 n 天游泳的总距离。

我们进一步思考,其实可以把这个题看作一个进制题——七进制,当 x = 8 时,就进位为 1,并在其中执行我们需要的操作。

作者:花无缺(huawuque404.com)

🌸


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

文章来源:https://blog.csdn.net/huawuque404/article/details/135037819
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。