蓝桥杯 时间问题
时间问题解法:
1.利用Excel
2.Java的Calendar类
3.时间差模板
1.2018蓝桥杯JavaA组2-星期一(利用Excel):https://blog.csdn.net/guanghuichenshao/article/details/79781039
2.如果时间在1970.1.1之后可以使用Java自带的Calendar类计算日期。
比如:
2013蓝桥杯JavaA组1-世纪末的星期
世纪末的星期
题目:
曾有邪教称1999年12月31日是世界末日。当然该谣言已经不攻自破。
还有人称今后的某个世纪末的12月31日,如果是星期一则会....
有趣的是,任何一个世纪末的年份的12月31日都不可能是星期一!!
于是,“谣言制造商”又修改为星期日......
1999年的12月31日是星期五,请问:未来哪一个离我们最近的一个世纪末年(即xx99年)的12月31日正好是星期天(即星期日)?
请回答该年份(只写这个4位整数,不要写12月31等多余信息)
import java.util.Calendar; import java.util.Scanner; public class Main { static Scanner sc = new Scanner(System.in); public static void main(String[] args) { Calendar cal = Calendar.getInstance(); for(int i=1999;i<=9999;i+=100) { cal.set(Calendar.YEAR, i); cal.set(Calendar.MONTH, 11); //12月 cal.set(Calendar.DATE, 31); int w=cal.get(Calendar.DAY_OF_WEEK); if(w==1) { //星期天为1、星期一为2...星期六为7 System.out.println(i); break; } } } }
3.时间差:蓝桥杯常考题板。。
#include<stdio.h>
int main()
{
int n,y1,m1,d1,y2,m2,d2,c1,c2,i,j,k;
int a[2][12]={{0,31,28,31,30,31,30,31,31,30,31,30},
{0,31,29,31,30,31,30,31,31,30,31,30}};
scanf("%d",&n);
for(k=1;k<=n;k++){
scanf("%d%d%d%d%d%d",&y1,&m1,&d1,&y2,&m2,&d2);
c1=0;c2=0;
for(i=1;i<y1;i++){
if(i%4==0&&i%100!=0||i%400==0) c1+=366;
else c1+=365;
}
for(i=1;i<m1;i++){
if(y1%4==0&&y1%100!=0||y1%400==0) c1+=a[1][i];
else c1+=a[0][i];
}
c1+=d1;
for(i=1;i<y2;i++){
if(i%4==0&&i%100!=0||i%400==0) c2+=366;
else c2+=365;
}
for(i=1;i<m2;i++){
if(y2%4==0&&y2%100!=0||y2%400==0) c2+=a[1][i];
else c2+=a[0][i];
}
c2+=d2;
printf("%d\n",c2-c1);
}
return 0;
}
博文系博主原创,转载请注明出处 o(* ̄▽ ̄*)ブ 更多博文源自https://www.cnblogs.com/yzm10

浙公网安备 33010602011771号