试题D 跑步锻炼
#include<bits/stdc++.h>
using namespace std;
int main(){
int nian=2000,yue=1,tian=1,xq=6;
int xnian=2020,xyue=10,xtian=1;
int qianmi=0;
while(nian<xnian){
while(yue<= 12){
if(yue==1||yue==3||yue==5||yue==7||yue==8||yue==10||yue==12){
while(tian <= 31){
if(tian==1||xq==1){
qianmi=qianmi+1;
}
qianmi=qianmi+1;
tian++;
xq=(xq+1)%7;
}
}
if(yue==4||yue==6||yue==9||yue==11){
while(tian <= 30){
if(tian==1||xq==1){
qianmi=qianmi+1;
}
qianmi=qianmi+1;
tian++;
xq=(xq+1)%7;
}
}
if(yue==2){
if((nian%4==0&&nian%100!=0)||nian%400==0){
while(tian <= 29){
if(tian==1||xq==1){
qianmi=qianmi+1;
}
qianmi=qianmi+1;
tian++;
xq=(xq+1)%7;
}
}
if(nian%4!=0){
while(tian <= 28){
if(tian==1||xq==1){
qianmi=qianmi+1;
}
qianmi=qianmi+1;
tian++;
xq=(xq+1)%7;
}
}
}
yue++;
tian=1;
}
nian++;
yue=1;
}
if(nian==xnian){
while(yue< xyue){
if(yue==1||yue==3||yue==5||yue==7||yue==8||yue==10||yue==12){
while(tian <= 31){
if(tian==1||xq==1){
qianmi=qianmi+1;
}
qianmi=qianmi+1;
tian++;
xq=(xq+1)%7;
}
}
if(yue==4||yue==6||yue==9||yue==11){
while(tian <= 30){
if(tian==1||xq==1){
qianmi=qianmi+1;
}
qianmi=qianmi+1;
tian++;
xq=(xq+1)%7;
}
}
if(yue==2){
if((nian%4==0&&nian%100!=0)||nian%400==0){
while(tian <= 29){
if(tian==1||xq==1){
qianmi=qianmi+1;
}
qianmi=qianmi+1;
tian++;
xq=(xq+1)%7;
}
}
if(nian%4!=0){
while(tian <= 28){
if(tian==1||xq==1){
qianmi=qianmi+1;
}
qianmi=qianmi+1;
tian++;
xq=(xq+1)%7;
}
}
}
yue++;
tian=1;
}
}
if(yue==xyue){
qianmi=qianmi+2;
}
cout << qianmi;
return 0;
}
试题G 回文日期
#include<bits/stdc++.h>
using namespace std;
bool panduan_hw(int a){
int hwsj[4];
hwsj[0] = (a/10000000);
hwsj[1] = (a/1000000)%10;
hwsj[2] = (a/100000)%10;
hwsj[3] = (a/10000)%10;
int l=1;
if(a%10!=hwsj[0]){
return false;
}
if((a/10)%10!=hwsj[1]){
return false;
}
if((a/100)%10!=hwsj[2]){
return false;
}
if((a/1000)%10!=hwsj[3]){
return false;
}
return true;
}
bool panduan_ab(int a){
int absj[4];
absj[0] = a/10000000;
absj[1] = (a/1000000)%10;
absj[2] = (a/100000)%10;
absj[3] = (a/10000)%10;
int l=1;
if(absj[0]!=absj[2]){
return false;
}
if(absj[1]!=absj[3]){
return false;
}
if(a%10!=absj[0]){
return false;
}
if((a/10)%10!=absj[1]){
return false;
}
if((a/100)%10!=absj[2]){
return false;
}
if((a/1000)%10!=absj[3]){
return false;
}
return true;
}
bool hf(int a){
int n = a/10000;
int y = (a%10000)/100;
int r = a%100;
if((n%4==0&&a%100!=0)||n%400==0){
if(y<=12&&y>=1){
if(y==1&&y==3&&y==5&&y==7&&y==8&&y==10&&y==12){
if(r<=31&&r>=1){
return true;
}else{
return false;
}
}
if(y==4&&y==6&&y==9&&y==11){
if(r<=30&&r>=1){
return true;
}else{
return false;
}
}
if(y==2){
if(r<=29&&r>=1){
return true;
}else{
return false;
}
}
}else{
return false;
}
}else{
if(y<=12&&y>=1){
if(y==1&&y==3&&y==5&&y==7&&y==8&&y==10&&y==12){
if(r<=31&&r>=1){
return true;
}else{
return false;
}
}
if(y==4&&y==6&&y==9&&y==11){
if(r<=30&&r>=1){
return true;
}else{
return false;
}
}
if(y==2){
if(r<=28&&r>=1){
return true;
}else{
return false;
}
}
}else{
return false;
}
}
}
int main(){
int sq;
scanf("%d",&sq);
int i,j;
bool hw_flag=0,ab_flag=0;
for(i=sq+1;i<100000000;i++){
if(panduan_hw(i)==1&&hw_flag==0&&hf(i)==1){
printf("%d\n",i);
hw_flag=1;
}
if(panduan_ab(i)==1&&ab_flag==0&&hf(i)==1){
printf("%d\n",i);
ab_flag=1;
}
}
return 0;
}