题解分享
题解分享简介
纪念日(结果填空) - 题解
```
#include <bits/stdc++.h>
using namespace std;
int main()
{
int day[13] = {0,31,28,31,30,31,30,31,31,30,31,30,31};
bool flag;
long long res=0;
for(int year=1921;year<=2020;year++)
{
if((year % 4 == 0) && (year % 100!=0) || (year%400==0)){
day[2]=29;
}else{
day[2]=28;
}
for(int month=1;month<=12;month++)
{
for(int i=1;i<=day[month];i++)
{
if(year==1921 && month ==7 &&i==23){
flag =true;
}
if(flag) res++;
if(year==2020 && month==7 && i==1){
//cout<<res-1<<endl;
cout<<(res-1)\*24\*60<<endl;
}
}
}
}
return 0;
}
```
查看全文
0
0
1
10
纪念日(结果填空) - 题解
```cpp
#include <cstdio>
#include <iostream>
#include <algorithm>
#include <utility>
#include <queue>
#include <map>
#include <set>
#include <vector>
#include <tuple>
#include <functional>
#include <unordered_set>
#include <unordered_map>
#include <list>
#include <cmath>
using namespace std;
using ll = long long;
int main() {
bool tag = 0;
int dd = 0;
for (int y = 1921; y <= 2020; ++y) {
for (int m = 1; m <= 12; ++m) {
for (int d = 1; d <= 31; ++d) {
if (m == 2) {
if (y % 400 == 0 || (y % 100 != 0 && y % 4 == 0)) {
if (d > 29)
break;
} else {
if (d > 28)
break;
}
}
if (m == 4 || m == 6 || m == 9 || m == 11)
if (d > 30)
break;
if (y == 1921 && m == 7 && d == 23) {
tag = 1;
}
if (y == 2020 && m == 7 && d == 1)
goto A;
if (!tag)
continue;
++dd;
}
}
}
A:
cout << dd * 60 * 24;
return 0;
}
```
查看全文
0
0
1
3
纪念日(结果填空) - 题解
```
#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 = 1921,month = 7,day = 23;
int year2 = 2020,month2 = 7,day2 = 1;
int ans = 0;
while(1){
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;
}
}
long long minuter = ans*24*60;
cout<<minuter<<endl;
return 0;
}
```
查看全文
0
0
0
8
纪念日(结果填空) - 题解
```
#include <iostream>
using namespace std;
bool isLeap(int year) {
return (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0);
}
int days(int month, int year) {
switch (month) {
case 2:
return isLeap(year) ? 29 : 28;
case 4: case 6: case 9: case 11:
return 30;
default:
return 31;
}
}
int daysDates(int startDay, int startMonth, int startYear, int endDay, int endMonth, int endYear) {
int totalDays = 0;
for (int y = startYear+1; y < endYear; ++y)
totalDays += isLeap(y) ? 366 : 365;
for (int m = startMonth; m <= 12; ++m)
totalDays += days(m, startYear);
totalDays -= startDay;
for (int m = 1; m < endMonth; ++m)
totalDays += days(m, endYear);
totalDays += endDay;
return totalDays;
}
int main() {
int startDay = 23, startMonth = 7, startYear = 1921;
int endDay = 1, endMonth = 7, endYear = 2020;
int totalDays = daysDates(startDay, startMonth, startYear, endDay, endMonth, endYear);
int totalMinutes = (totalDays) * 24 * 60;
cout << totalMinutes << endl;
return 0;
}
```
查看全文
0
0
0
17
纪念日(结果填空) - 题解
```
#include <iostream>
using namespace std;
int m[13] = {0,31,28,31,30,31,30,31,31,30,31,30,31};
int time;
int main()
{
int a = 1921, b = 7, c = 23;
int year = 2020, morth = 7, day = 1;
for (int i = 1; ; i ++ )
{
c ++ ;
if ((a % 4 == 0 && a % 100 != 0) || (a % 400 == 0))
{
m[2] = 29;
if (c == m[b] + 1)
{
b ++ ;
c = 1;
}
}
else
{
m[2] = 28;
if (c == m[b] + 1)
{
b ++ ;
c = 1;
}
}
if (b == 13)
{
a ++ ;
b = 1;
}
if (a == year && b == morth && c == day)
{
cout << i * 24 * 60;
break;
}
}
return 0;
}
```
查看全文
0
0
0
12
纪念日(结果填空) - 题解
using namespace std;
int main()
{ int num=0;
```
int flag=0;
for(int year=1921;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;
}
if(year==1921&&month==7&&day==23)
{
flag=1;
}
if(flag==1)num+=60\*24;
if(year==2022&&month==7&&day==1)
{
cout<<num-24\*60<<endl;
return 0;
```
}
}
}
查看全文
0
0
0
10
纪念日(结果填空) - 题解
```
#include <bits.stdc++.h>
using namespace std;
//20.1B2 纪念日
//偷了点懒没写else
void days(int &yyyy, int &mm, int &dd, int &count)
{
if(mm==1 || mm==3 || mm==5 || mm==7 || mm==8 || mm==10 || mm==12)
{
if(mm==12 && dd==31)
{
yyyy++;
dd=1;
mm=1;
count++;
}
if(dd>0 && dd<31)
{
dd++;
count++;
}
else if(dd==31)
{
dd=1;
mm++;
count++;
}
}
else if(mm==4 || mm==6 || mm==9 || mm==11)
{
if(dd>0 && dd<30)
{
dd++;
count++;
}
else if(dd==30)
{
dd=1;
mm++;
count++;
}
}
else if(mm==2)
{
if((yyyy%4==0 && yyyy%100!=0) || yyyy%400==0)
{
if(dd>0 && dd<29)
{
dd++;
count++;
}
else if(dd==29)
{
dd=1;
mm++;
count++;
}
}
else if(yyyy>1900 && yyyy<2050)
{
if(dd>0 && dd<28)
{
dd++;
count++;
}
else if(dd==28)
{
dd=1;
mm++;
count++;
}
}
}
}
int main()
{
int yyyy=1921;
int mm=7;
int dd=23;
int count=0;
while(yyyy!=2020 || mm!=7 || dd!=1)
{
days(yyyy, mm, dd, count);
}
int minutes=24*60*count;
cout << minutes << endl;
return 0;
}
```
查看全文
0
0
0
9
纪念日(结果填空) - 题解
EXCEl:通过excel表中的DATE(2020,7,1)-DATE(1921,7,23)=36138,剩下的还需要我计算吗?
0
0
0
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=1921,month=7,day=23;
long long res=0;
while(year!=2020||month!=7||day!=1)//跑到2020.10.1要包含这天就得往后延一天
{
addOneDay(year,month,day);
res++;
}
cout<<res*60*24;
return 0;
}
```
查看全文
0
0
0
7
纪念日(结果填空) - 题解
```
#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
int cnt=0,flag=0;
for(int year=1921;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;
}
//更改代码从这里开始
if(year==1921 && month ==7 && day ==23)//第一个日期 ,开始计时
{
flag=1;
}
if(flag==1) cnt+=60*24;
if(year==2020 && month ==7 && day ==1)//第二个日期
{
cout<<cnt-24*60<<endl;
//程序计算的是从1921年7月23到2020年7月1日,两个日期分别多算了12h
return 0;//直接跳出循环关闭
}
}
}
```
查看全文
0
0
0
6



