3.1w+
社区成员
对于一个日期,我们可以计算出年份的各个数位上的数字之和,也可以分别计算月和日的各位数字之和。请问从 19001900 年 11 月 11 日至 99999999 年 1212 月 3131 日,总共有多少天,年份的数位数字之和等于月的数位数字之和加日的数位数字之和。
例如,20222022 年 1111 月 1313 日满足要求,因为 2+0+2+2=(1+1)+(1+3)2+0+2+2=(1+1)+(1+3) 。
请提交满足条件的日期的总数量。
这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。
#include <stdio.h>
#include <stdlib.h>
int fun(int n){
int sum=0;
while(n){
sum+=n%10;
n/=10;
}
return sum;
}
int main(){
int count=0;
int i,j,year,month,days[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
for(year=1900;year<=9999;year++){
if(year%4==0&&year%100!=0||year%400==0)
days[2]=29;
else
days[2]=28;
for(i=1;i<=12;i++){
for(j=1;j<=days[i];j++){
if(fun(year)==fun(i)+fun(j))count++;
}
}
}
printf("%d",count);
return 0;
}