Vamos 题解分享 · 2024/12/14
第几天(结果填空) - 题解
```c++ #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 num = 1; // 2000.1.1是第一天 int year = 2000, month = 1, day = 1; int year2 = 2000, month2 = 5, day2 = 4; while(1) { num++, day++; for (int i = 1; i <= 7; ++i) // 判断是否为大月 { if (month == m1[i] && day == 32) // 大月满足32天进一月 { month++; day = 1; break; } } for (int i = 1; i <= 4; ++i) // 判断是否为小月 { if(month == m2[i] && day == 31) // 小月满31天进一月 { month++; day = 1; break; } } if (month == 2) // 2月单独判断 { if ((year % 4 == 0 && year % 100) || year % 400 == 0) { if (day == 30) // 闰年满30天进一月 { month++; day = 1; } } else { if (day == 29) // 平年满29天进一月 { month++; day = 1; } } } if (month == 13) // 满13月进一年 { month = 1; year++; } if (year == year2 && month == month2 && day == day2) break; } cout << num << '\n'; return 0; } ``` 最终答案:125
查看全文
0 0 1 2
xiaoxin 题解分享 · 2024/4/6
第几天(结果填空) - 题解
``` #include<iostream> #include<cstring> #include<cstdio> #include<algorithm> using namespace std; int nums[13]={0,31,28,31,30,31,30,31,31,30,31,30,31}; int isleap_year(int year){ if(year%400==0 ||year%4==0 && year%100!=0) return 1; else return 0; } int get_day(int month){ if(month==2 && isleap_year(month)) return 29; else return nums[month]; } void next_day(int &year,int &month,int &day){ day++; if(day>get_day(month)){ day=1,month++; } if(month>12){ month=1,year++; } } int main(){ int year=2000,month=1,day=1; int tianshu=1; int n=366; while(n--){ if(month==5 && day==4) { //单天也算作一天 tianshu++; break; }; next_day(year,month,day); tianshu++; } cout<<tianshu; return 0; } ```
查看全文
0 0 1 0
Wneosy 题解分享 · 2025/1/8
第几天(结果填空) - 题解
``` #include<bits/stdc++.h> using namespace std; int m1[] = {0,1,3,5,7,8,10,12};//数组m1存储大月 int m2[] = {0,4,6,9,11};//数组m2存储小月 int main(){ int year = 2000,month = 1,day = 1; int year2 = 2000,month2 = 5,day2 = 4; int ans = 1; for(int i = 1;i <= 1000;i++){//加1000天 ans++; day++; for(int j = 1;j <=7;j++){ if(month==m1[j] && day == 32){//大月满32天进一月 month++; day=1; break; } } for(int j = 1;j <= 4;j++){ if(month == m2[j] && day == 31){//小月满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){//满13月进1年 month = 1; year++; } if(year == year2 && month == month2 && day == day2){ break; } } cout<<ans<<endl; return 0; } ```
查看全文
0 0 0 2
yuri01 题解分享 · 2024/12/13
第几天(结果填空) - 题解
```cpp #include <bits/stdc++.h> using namespace std; int months[13] = {-1, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; int cnt = 0; int main() { for (int year = 2000; year <= 2000; year++) { // 年 if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) // 判闰 months[2] = 29; else months[2] = 28; for (int month = 1; month <= 12; month++) // 月 for (int day = 1; day <= months[month]; day++) { // 日 cnt++; // 计数 if (month == 5 && day == 4) { cout << cnt << endl; return 0; } } } } ```
查看全文
0 0 0 2
zbz 题解分享 · 2024/4/7
第几天(结果填空) - 题解
``` #include<bits/stdc++.h> using namespace std; int dayOfMonth[2][13] = { {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}, {0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31} }; // 是否是闰年 bool isLeapYear(int year) { return year % 400 == 0 || (year % 4 == 0 && year % 100 != 0); } // 给当前日期加1天(注意参数都用了引用&,这样对参数的修改可以同步到函数外) void addOneDay(int &year, int &month, int &day) { day++; // 让day加1 if (day > dayOfMonth[isLeapYear(year)][month]) { // 如果超过当前月的天数 month++; // 让month加1 day = 1; // 重置day为1号 } if (month > 12) { // 如果月份大于12 year++; // 让year加1 month = 1; // 重置month为1月 } } int main() { // ios::sync_with_stdio(0); // cin.tie(0); // cout.tie(0); int year=2000,month=1,day=1,res=1; while(year!=2000||month!=5||day!=4)//跑到2020.10.1要包含这天就得往后延一天 { addOneDay(year,month,day); res++; } cout<<res; return 0; } ```
查看全文
0 0 0 3
tomoyo 题解分享 · 2024/4/10
第几天(结果填空) - 题解
w11 win+r calc 别忘加一
0 0 0 2
Akari 题解分享 · 2024/4/10
第几天(结果填空) - 题解
AC 代码 ``` #include <iostream> #include <cstring> #include <algorithm> using namespace std; int main() { int cnt = 0; // 变量设在开头 for (int year = 2000; year <= 2000; 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; } cnt ++ ; // 每走一步就 ++ , 直到达到指定日期 if (month == 5 && day == 4) { cout << cnt << endl; return 0; // 终止程序 } } return 0; } ```
查看全文
0 0 0 2
zzx 题解分享 · 2024/4/9
第几天(结果填空) - 题解
include using namespace std; int main() { int flag=0,cnt=0; for(int year=2000;year 29)break; } else { if(day>28)break; } }else{ if(day>30)break; } if(year==2000 && month==1 && day==1) { flag=1; } if(flag==1)cnt++; if(year==2000 && month==5 && day==4){ printf("%d",cnt); break; } } return 0; }
查看全文
0 0 0 2
kagami_sama 题解分享 · 2024/4/8
第几天(结果填空) - 题解
``` #include <iostream> using namespace std; int m[13] = {0,31,28,31,30,31,30,31,31,30,31,30,31}; int main() { int year = 2000, morth = 1, day = 1; int a = 2000, b = 5, c = 4; for (int i = 1; ; i ++ ) { day ++ ; if ((year % 4 == 0 )&& (year % 100 != 0) || (year % 400 == 0)) { m[2] = 29; if (day == m[morth] + 1) { morth ++ ; day = 1; } } else { m[2] = 28; if (day == m[morth] + 1) { morth ++ ; day = 1; } } if (morth == 13) { morth = 1; year ++ ; } if (year == a && morth == b && day == c) { cout << i + 1; break; } } //printf("%d-%02d-%02d", year, morth, day); return 0; } ```
查看全文
0 0 0 2
MMM 题解分享 · 2024/4/9
第几天(结果填空) - 题解
``` year,month,day = 2000,1,1 count = 1 while month <= 5 : day +=1 count += 1 if month == 2: if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0): if day == 30: month += 1 day = 1 else: if day == 29: month += 1 day = 1 elif (month == 4 or month == 6 or month == 9 or month == 11) and day == 31: month += 1 day = 1 elif (month == 1 or month == 3 or month == 5 or month == 7 or month == 8 or month == 10 or month == 12) and day == 32: month += 1 day = 1 elif month == 5 and day == 4: break print(count) ```
查看全文
0 0 0 1