问题描述
小蓝计划在某天的日期中出现 1 时跑 5 千米,否则只跑 1 千米。注意日期中出现 1 不仅指年月日也指星期。
请问按照小蓝的计划,
2023 年小蓝总共会跑步锻炼多少千米?例如, 5 月 1 日、 1 月 13 日、 11 月 5 日、 4 月 3 日 (星期一) 小蓝会跑 5 千米,而 5 月 23 日小蓝会跑 1 千米 (示例日期均为 2023 年)
答案提交
这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。
1月1日 -> 4月3日相差92天,所以得出1月1日为星期日、
答案:1333
public class Main{
public static void main(String[] args) {
//Scanner scan = new Scanner(System.in);
int ans=0;
int month=1,day=1,week=7;
int[] days=new int[] {0,31,28,31,30,31,30,31,31,30,31,30,31};
while(month<=12) {
if(f(month)||f(day)||f(week)) {
ans+=5;
}
else {
ans+=1;
}
day++;
week++;
while(day>days[month]) {
month++;
if(month==13) {
break;
}
day=1;
}
while(week>7) {
week=1;
}
}
System.out.println(ans);
//scan.close();
}
public static boolean f(int n) {
int f=0;
while(n>0) {
f=n%10;
if(f==1) {
return true;
}
n=n/10;
}
return false;
}
}