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

花无缺

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

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



【洛谷算法题】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万字详解】
你们的点赞👍 收藏⭐ 留言📝 关注✅
是我持续创作,输出优质内容的最大动力!
谢谢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

「已注销」

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值