多少个对称日期?

一共有331个,所有的对称日期都不是质数,但331是个质数。

10011001,10100101,10111101,10200201,10211201,10300301,10400401,10500501,10600601,10700701,

10800801,10900901,11011011,11100111,11111111,11200211,11211211,11300311,11400411,11500511,

11600611,11700711,11800811,11900911,12011021,12100121,12111121,12200221,12211221,12300321,

12400421,12500521,12600621,12700721,12800821,12900921,13011031,13100131,13211231,13300331,

13500531,13700731,13800831,20011002,20100102,20111102,20200202,20211202,20300302,20400402,

20500502,20600602,20700702,20800802,20900902,21011012,21100112,21111112,21200212,21211212,

21300312,21400412,21500512,21600612,21700712,21800812,21900912,22011022,22100122,22111122,

22200222,22211222,22300322,22400422,22500522,22600622,22700722,22800822,22900922,30011003,

30100103,30111103,30200203,30211203,30300303,30400403,30500503,30600603,30700703,30800803,

30900903,31011013,31100113,31111113,31200213,31211213,31300313,31400413,31500513,31600613,

31700713,31800813,31900913,32011023,32100123,32111123,32200223,32211223,32300323,32400423,

32500523,32600623,32700723,32800823,32900923,40011004,40100104,40111104,40200204,40211204,

40300304,40400404,40500504,40600604,40700704,40800804,40900904,41011014,41100114,41111114,

41200214,41211214,41300314,41400414,41500514,41600614,41700714,41800814,41900914,42011024,

42100124,42111124,42200224,42211224,42300324,42400424,42500524,42600624,42700724,42800824,

42900924,50011005,50100105,50111105,50200205,50211205,50300305,50400405,50500505,50600605,

50700705,50800805,50900905,51011015,51100115,51111115,51200215,51211215,51300315,51400415,

51500515,51600615,51700715,51800815,51900915,52011025,52100125,52111125,52200225,52211225,

52300325,52400425,52500525,52600625,52700725,52800825,52900925,60011006,60100106,60111106,

60200206,60211206,60300306,60400406,60500506,60600606,60700706,60800806,60900906,61011016,

61100116,61111116,61200216,61211216,61300316,61400416,61500516,61600616,61700716,61800816,

61900916,62011026,62100126,62111126,62200226,62211226,62300326,62400426,62500526,62600626,

62700726,62800826,62900926,70011007,70100107,70111107,70200207,70211207,70300307,70400407,

70500507,70600607,70700707,70800807,70900907,71011017,71100117,71111117,71200217,71211217,

71300317,71400417,71500517,71600617,71700717,71800817,71900917,72011027,72100127,72111127,

72200227,72211227,72300327,72400427,72500527,72600627,72700727,72800827,72900927,80011008,

80100108,80111108,80200208,80211208,80300308,80400408,80500508,80600608,80700708,80800808,

80900908,81011018,81100118,81111118,81200218,81211218,81300318,81400418,81500518,81600618,

81700718,81800818,81900918,82011028,82100128,82111128,82200228,82211228,82300328,82400428,

82500528,82600628,82700728,82800828,82900928,90011009,90100109,90111109,90200209,90211209,

90300309,90400409,90500509,90600609,90700709,90800809,90900909,91011019,91100119,91111119,

91200219,91211219,91300319,91400419,91500519,91600619,91700719,91800819,91900919,92011029,

92100129,92111129,92200229,92211229,92300329,92400429,92500529,92600629,92700729,92800829,

92900929,

 

源程序:

public class CalendarReverse {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		int yearBeg=1000;
		int yearEnd=9999;
		int monthBeg=1;
		int monthEnd=12;
		int dayBeg=1;
		int dayEnd=31;
		int count=0;
		
		for(int year = yearBeg;year<=yearEnd;year++){
			StringBuilder monthSB = new StringBuilder(String.format("%02d",(year%100)));
			
			int month= Integer.parseInt(monthSB.reverse().toString());
			
			StringBuilder daySB = new StringBuilder(String.format("%02d",(year/100)));
			int day=Integer.parseInt(daySB.reverse().toString());
			
			if(month>monthEnd||day>dayEnd||month<monthBeg||day<dayBeg)continue;
					String forward= String.valueOf(year)+String.format("%02d", month)+String.format("%02d", day);
					StringBuffer sb=new StringBuffer(forward);
					String backward = sb.reverse().toString();
					if(forward.equals(backward)){
						if(month==2 && day>=30){
							continue;
						}
						if(month==4 && day>30){
							continue;
						}
						if(month==6 && day>30){
							continue;
						}
						if(month==9 && day>30){
							continue;
						}
						if(month==11 && day>30){
							continue;
						}
						if(month==2 && day==29 && !isLeapYear(year) ){
							continue;
						}
						
						System.out.print(forward+",");
						count++;
						if(count%10==0) System.out.println();
			}
		}
		System.out.println("一共有"+count);
	}

	private static boolean isLeapYear(int year) {
		return year%400==0 ||(year%100!=0&&year%4==0);
	}

}
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值