第十三天,还有22天比赛
特殊日期:
package jiyi;
/*本包为写过的题目但是还是要再ac一次
*
*
*/
public class teshuriq {
public static void main(String[] args) {
int [] days = new int[]{0,31,28,31,30,31,30,31,31,30,31,30,31};
int count = 0;
//模拟年份
for(int y =1900;y<=9999;y++) {
days[2] = 28;//重置之前赋值的29
//模拟月份
for(int m = 1;m<=12;m++) {
if(m ==2) {
days[2] = dayosmonth(y);//拿到二月份的天数
}
//模拟s每个月到底有多少天
for(int d =1;d<=days[m];d++) {
if(sum(y) == sum(m) + sum(d)) {
if(!(y == 1900 && m ==1 && d ==1 )) {
count++;
}
}
}
}
}
System.out.println(count);
}
//判断是否闰年
private static boolean isP(int year) {
return ((year % 100 !=0 && year % 4 == 0) || year % 400 == 0);
}
//计算二月到底有多少天
private static int dayosmonth(int year) {
if(isP(year)) {
return 29;
}else {
return 28;
}
}
//数位拆分求每个位数的和
private static int sum(int num) {
int sum=0;
while(num > 0) {
int n = num % 10;
sum += n;
num /= 10;
}
return sum;
}
}
时钟
package daka;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
/*
* 重合次数
* 在一个时间段内,计算分针秒针的重合的次数
* 每过61s,分针和秒针会重合一次
*
*/
public class chongheci {
public static void main(String[] args) throws ParseException {
// Scanner scan = new Scanner(System.in);
// //在此输入您的代码...
// //先计算出经过了多少秒,没经过61秒,秒针和分针就会重合一次,最后算出的结果对61取整即可。
// int a=(14-6)*60*60+(36-13)*60-2;
// int b = a / 61;
// System.out.println(b);
// scan.close();
//设置初始值
int h =6;int m =13;int s =22;
int count =0;
while(true) {
if(h==14&&m==36&& s ==20) {
break;
}
if(m ==s ) {
count++;
}
//累加
s++;
if(s == 60) {
s=0;
m++;
if(m ==60) {
m=0;
h++;
}
}
}
System.out.println(count-(14-6));
}
}
3.