rh123 题解分享 · 2025/1/4
跑步锻炼(结果填空) - 题解
include using namespace std; bool fun(int year) { if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) return true; else return false; } int main() { int week = 6; int num = 0; int mon[] = { 0,31,28,31,30,31,30,31,31,30,31,30,31 }; for (int year = 2000; year <=2020; year++) { if (fun(year)) mon[2] = 29; else//因为下一年不是闰年要变回28 mon[2]=28; for (int month = 1; month <= 12; month++) { for (int day = 1; day <= mon[month]; day++) { if (day == 1 || week == 1) num += 2; else num++; week = (week) % 7 + 1; if (year == 2020 && month == 10 && day == 1) { cout << num << endl; return 0; } } } } return 0; }
查看全文
0 0 1 1
acmer10 题解分享 · 2024/4/5
跑步锻炼(结果填空) - 题解
``` #include<iostream> #include<cstring> #include<algorithm> using namespace std; int mon[]={0,31,28,31,30,31,30,31,31,30,31,30,31}; bool run(int x) { if((x%4==0&&x%100!=0)||x%400==0)return true; return false; } int main() { int week=6,sum=0; for(int y=2000;y<=2020;y++) for(int m=1;m<=12;m++) { if(run(y))mon[2]=29; else mon[2]=28; for(int d=1;d<=mon[m];d++) { if(d==1||week==1)sum+=2; else sum++; week=(week+1)%7;//week=0周日 往后导 if(y==2020&&m==10&&d==1) { cout<<sum<<endl; return 0; } } } return 0; } ```
查看全文
0 0 1 7
EternalY 题解分享 · 2024/4/10
跑步锻炼(结果填空) - 题解
使用日期模板 ``` #define #include <bits/stdc++.h> using namespace std; int main() { int sum = 0; int a = 6; for (int year = 2000; year <= 2020; year++) { for (int month = 1; month <= 12; month++) { for (int day = 1; day <= 31; day++) { int flag = 0; if (month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12) { ; } else if (month == 2) { if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) { if (day > 29) break; } else { if (day > 28) break; } } else { if (day > 30) { break; } } int b = (a++ - 1) % 7 + 1;//当天是星期几 if (b == 1) { flag = 1; } a = (a - 1) % 7 + 1; if (day == 1 || flag == 1) { sum += 2; } else { sum++; } if (year == 2020 && month == 10 && day == 1) { cout << sum << endl; return 0; } } } } } ```
查看全文
0 0 1 1
Giocatore 题解分享 · 2025/4/9
跑步锻炼(结果填空) - 题解
``` import java.util.*; import java.io.*; import java.time.*; public class Main { public static void main(String[] args){ int res = 0; int flag = 0; boolean flag2 = true; for(int years = 2000;years <=2020;years++){ if(!flag2) break; for(int months = 1;months<=12;months++){ if(!flag2) break; for(int days = 1;days<=31;days++){ if(months == 1 || months == 3 ||months == 5 ||months == 7 ||months == 8 ||months == 10 ||months == 12 ){ } else if (months == 2){ if(years %4 ==0 && years %100 != 0 || years %400 == 0){ if(days>29) { break; } } else if(days>28) break; } else if(days > 30) break; if(years == 2020 && months == 10 && days == 1){ flag2 = false; } if(days == 1 || flag%7==2){ res+=2; flag++; } else{ res++; flag++; } if(!flag2) break; } } } System.out.println(res); } } ```
查看全文
0 0 0 1
Aisakave. 题解分享 · 2025/3/11
跑步锻炼(结果填空) - 题解
include using namespace std; define endl '\n' using i64 = long long; using u64 = unsigned long long; using u32 = unsigned; using u128 = unsigned __int128; const int MOD = 1e9 + 7; // 判断是否是闰年 bool isLeapYear(int year) { return (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0); } // 获取某个月份的天数 int getDaysInMonth(int year, int month) { switch (month) { case 2: return isLeapYear(year) ? 29 : 28; case 4: case 6: case 9: case 11: return 30; default: return 31; } } int main() { ios::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr); int cnt = 0; // 计数器 int today = 6; // 2000年1月1日是星期六(假设) // 遍历2000年到2020年 for (int year = 2000; year <= 2020; year++) { // 遍历1月到12月 for (int month = 1; month <= 12; month++) { // 遍历1日到该月的最大天数 for (int day = 1; day <= getDaysInMonth(year, month); day++, today++) { // 如果到达2020年10月1日,输出结果并退出 if (year == 2020 && month == 10 && day == 1) { cout << cnt + 2 << endl; return 0; } // 判断条件:today % 7 == 1 或 day == 1 if (today % 7 == 1 || day == 1) { cnt += 2; } else { cnt += 1; } } } } return 0; }
查看全文
0 0 0 1
潇潇雨未歇 题解分享 · 2025/3/5
跑步锻炼(结果填空) - 题解
``` #include<bits/stdc++.h> using namespace std; int m1[]={0,1,3,5,7,8,10,12}; int m2[]={0,4,6,9,11}; int main(){ int year=2000,month=1,day=1; int year2=2020,month2=10,day2=2; int sum=0; int num=0; while(1){ if(day==1||num%7==2) sum+=2; else sum++; day++; num++; for(int j=1;j<=7;j++){ if(month==m1[j]&&day==32){ month++; day=1; break; } } for(int j=1;j<=4;j++){ if(month==m2[j]&&day==31){ month++; day=1; break; } } if(month==2){ if((year%4==0&&year%100!=0)||year%400==0){ if(day==30){ month++; day=1; } } else{ if(day==29){ month++; day=1; } } } if(month==13){ month=1; year++; } if(year==year2&&month==month2&&day==day2) break; } cout<<sum<<endl; return 0; } ```
查看全文
0 0 0 1
hxq 题解分享 · 2025/1/14
跑步锻炼(结果填空) - 题解
``` #include<bits/stdc++.h> using namespace std; int main() { int sum=0; int count=0; for(int year=2000;year<=2020;year++) { for(int month=1;month<=12;month++) { for(int day=1;day<=31;day++) { if(month==1||month==3||month==5||month==7||month==8||month==10||month==12) { ; } else if(month==2) { if((year%4==0&&year%100!=0)||(year%400==0)) { if(day>29) break; } else { if(day>28) break; } } else { if(day>30) { break; } } count++; if(count%7==3||day==1) { sum+=2; } else { sum+=1; } if(year==2020&&month==10&&day==1) { cout<<sum; return 0; } } } } return 0; } // 1=6 2=7 3=1 4=2 5=3 6=4 7=5 ```
查看全文
0 0 0 1
sql871130 题解分享 · 2024/12/21
跑步锻炼(结果填空) - 题解
``` #include<bits/stdc++.h> using namespace std; int main(){ int flag=0; int sum=0; int count=0; for (int year = 2000; year <= 2022; year++) { for (int month = 1; month <= 12; month++) { int daysInMonth = 31; // 默认每个月有31天 // 设置不同月份的天数 if (month == 4 || month == 6 || month == 9 || month == 11) { daysInMonth = 30; // 4月、6月、9月、11月有30天 } else if (month == 2) { // 处理2月(闰年判断) if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) { daysInMonth = 29; // 闰年 } else { daysInMonth = 28; // 非闰年 } } // 循环遍历每个月的天数 for (int day = 1; day <= daysInMonth; day++) { // 处理当前日期(年、月、日) // 例如,你可以打印日期或存储日期 count++; if ((count-1)%7 == 2||day==1) { sum=sum+2; }else { sum=sum+1; } if (year==2020&&month==10&&day==1) { cout<<sum; return 0; } } } } return 0; } ```
查看全文
0 0 0 1
Captain_Dong 题解分享 · 2024/4/11
跑步锻炼(结果填空) - 题解
``` #include<bits/stdc++.h> using namespace std; int run_sum; int main() { int a=6; //从星期六开始 for(int year = 2000; year <= 2020; year++) for(int month = 1; month <= 12; month++) for(int day =1; day <= 31; day++) { if(month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12); else if(month == 2) { if((year%4 == 0 && year%100 != 0) || year % 400 == 0) { if(day > 29) break; } else { if(day > 28) break; } } else { if(day > 30) break; } int flag=0; //定义一个标志 //先求当前的日期是星期几 (1~7: 星期一~星期天) int b = (a++ - 1) %7 + 1; if(b==1) flag = 1; //如果某天是周一或者月初(1日,为了激励自己,小蓝要跑2千米。如果同时是周一或月初,小蓝也是跑2千米。 if(day == 1 || flag == 1) run_sum+=2; else run_sum++; if(year == 2020 && month==10 && day == 1){ cout<<run_sum<<endl; return 0; } } return 0; } ```
查看全文
0 0 0 2
肥肠肥肠 题解分享 · 2024/4/11
跑步锻炼(结果填空) - 题解
``` public class Main { public static void main(String[] args) { boolean f = false; int ans = 0; int week = 0; //记录今天是星期几 for (int year = 2000; year <= 2022; year++) { for (int month = 1; month <= 12; month++) { for (int day = 1; day <= 31; day++) { if (month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12) { ; //这些月份是31天 } else if (month == 2) { //闰年 if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) { if (day > 29) //闰年的2月有29天 break; } else { if (day > 28) { //不是闰年的2月有28天 break; } } } else { //不是2月和if月份的 , 其他月份有30天 if (day > 30) { break; } } if (year == 2000 && month == 1 && day == 1) { f = true; week = 5; } week = (week + 1) % 7; //记录今天是星期几 if (f) { if (week == 1 || day == 1) { //day=1表示每月月初 ans += 2; } else { ans++; } } if (year == 2020 && month == 10 && day == 1) { System.out.println(ans); return; } } } } } } ```
查看全文
0 0 0 2