👨?💻博客主页:@花无缺
欢迎 点赞👍 收藏? 留言📝 加关注?!
本文由 花无缺 原创收录于专栏 【洛谷算法题】
有一只小鱼,它平日每天游泳 250 250 250 公里,周末休息(实行双休日),假设从周 x x x 开始算起,过了 n n n 天以后,小鱼一共累计游泳了多少公里呢?
输入两个正整数 x , n x,n x,n,表示从周 x x x 算起,经过 n n n 天。
输出一个整数,表示小鱼累计游泳了多少公里。
3 10
2000
数据保证, 1 ≤ x ≤ 7 1\le x \le 7 1≤x≤7, 1 ≤ n ≤ 1 0 6 1 \le n\le 10^6 1≤n≤106。
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,并在其中执行我们需要的操作。
🌸
🌸欢迎
关注
我的博客:花无缺-每一个不曾起舞的日子都是对生命的辜负~
🍻一起进步-刷题专栏:【洛谷算法题】
💻Java题解同步仓库:https://github.com/huawuque404/Java-solution
🥇往期精彩好文:
📢【打造全网最全爱心代码仓库】
📢【CSS选择器全解指南】
📢【HTML万字详解】
你们的点赞👍 收藏? 留言📝 关注?
是我持续创作,输出优质内容
的最大动力!
谢谢!