网站开发kpi,专门培训seo的网站,nginx缓存wordpress,网站怎么做拉新问题描述#xff1a; 对于一个日期#xff0c;我们可以计算出年份的各个数位上的数字之和#xff0c;也可以分别计算月和日的各位数字之和。 请问1900年1月1日至9999年12月31日总共有多少天#xff1f;年份的数位数字之和等于月的数位数字之和加日的数位之和 例如#xff…问题描述 对于一个日期我们可以计算出年份的各个数位上的数字之和也可以分别计算月和日的各位数字之和。 请问1900年1月1日至9999年12月31日总共有多少天年份的数位数字之和等于月的数位数字之和加日的数位之和 例如2022年11月13日满足要求2022(11)(13) 请提交满足条件的日期总数量。 实现思路初始化两个LocalDate对象分别代表开始日期1990年1月1日和结束日期9999年12月31日。 初始化一个计数器counter用于统计满足条件的日期数量。 使用while循环遍历开始日期到结束日期之间的所有日期。 对于每个日期分别获取其年份、月份和日期并计算它们的各位数之和。 如果年份的各位数之和等于月份和日期的各位数之和则计数器counter加1。 日期递增1天继续下一个日期的判断。 当遍历完所有日期后输出满足条件的日期数量。 代码实现
方式1
package com.ztt.Demo01;import java.time.LocalDate;public class demo03 {public static void main(String[] args) {LocalDate beginDateLocalDate.of(1990, 1, 1);LocalDate endDateLocalDate.of(9999, 12, 31);int counter0;while(beginDate.compareTo(endDate)0) {int yearbeginDate.getYear();int monthbeginDate.getMonthValue();int daybeginDate.getDayOfMonth();if(sum(year)sum(month)sum(day)) {counter;}//递增1天beginDatebeginDate.plusDays(1);}System.out.println(counter);}//计算整数的每一位之和private static int sum(int number) {int a0,b0,c0,d0;dnumber % 10;//个位c(cnumber / 10 % 10)!0?c:0;b(cnumber / 100 % 10)!0?c:0;a(cnumber / 1000 % 10)!0?c:0;return abcd;}}
输出结果
49776方式2
package com.ztt.Demo01;public class Day{public int day1(int a) {switch(a) {case 1:;case 3:;case 5:;case 7:;case 8:;case 10:;case 12:return 31;case 2:return 28;default: return 30;}
}public int day2(int a) {switch(a) {case 1:;case 3:;case 5:;case 7:;case 8:;case 10:;case 12:return 31;case 2:return 29;default: return 30;}}public static void main(String[] args) {Day Day new Day();int i,j,k,sum0,DaySum0;for(i1990;i9999;i) { for(j1;j13;j) {// System.out.print(j );if((i%40i%100!0)||(i%1000i%4000)){for(k1;kDay.day2(j);k) { if((i/1000(i/100)%10(i/10)%10i%10) (j/10j%10k/10k%10)) {System.out.println(i年j月k日); DaySum;}sum;}}else {for(k1;kDay.day1(j);k) { if((i/1000(i/100)%10(i/10)%10i%10) (j/10j%10k/10k%10)) {System.out.println(i年j月k日);DaySum;}sum;}}}}System.out.println(一共有sum天);System.out.print(符合要求的有DaySum天);}}输出结果
一共有2925592天
符合要求的有70183天