#include<stdio.h>
bool is_layer(int x,int y,int z)//判断日期是否合法
{
if(z==31&&(y==2||y==4||y==6||y==9||y==11)){
return false;
}
if(z==30&&y==2){
return false;
}
if(!(x%400==0)&&!(x%4==0&&x%100!=0)){//x年不是闰年
if(y==2&&z==29){
return false;
}
}
return true;
}
int get_sum(int n)
{
int sum=0;
while(n>0)
{
sum+=(n%10);
n/=10;
}
return sum;
}
int main()
{
int i,j,k=0;
int count=0;
for(i=1900;i<10000;++i){
for(j=1;j<13;++j){
for(k=1;k<32;++k){
if(is_layer(i,j,k)){//日期ijk合法
if(get_sum(i)==get_sum(j)+get_sum(k)){
count++;
}
}
}
}
}
printf("%d\n",count);
return 0;
}
lqb第三题
于 2023-03-11 10:31:34 首次发布