摘要: #includeint main(){ unsigned n; while(scanf("%u",&n)!=EOF) { unsigned a; a=n; n>=16; a>>=16; a=a^n; n=~n; n<<=16; n+=a; printf("%X\n",n); } return 0;} 阅读全文
posted @ 2013-08-01 16:25 hpu张亚飞 阅读(392) 评论(1) 推荐(0) 编辑
摘要: AC代码#includeint main(){int y,m,d;while(scanf("%d%d%d",&y,&m,&d)!=EOF){if(m==1||m==2){y-=1;m+=12;}printf("%d\n",(d+2*m+3*(m+1)/5+y+y/4-y/100+y/400+1)%7); }return 0;}超时代码#includeint py(int a) { int y; if(a%4==0&&a%100!=0||a%400==0) y=1; else y=0; return y; }int 阅读全文
posted @ 2013-08-01 09:18 hpu张亚飞 阅读(219) 评论(0) 推荐(0) 编辑
摘要: 基姆拉尔森计算公式编辑本段算法算法如下:基姆拉尔森计算公式W= (d+2*m+3*(m+1)/5+y+y/4-y/100+y/400+1) mod 7在公式中d表示日期中的日数,m表示月份数,y表示年数。注意:在公式中有个与其他公式不同的地方:把一月和二月看成是上一年的十三月和十四月,例:如果是2004-1-10则换算成:2003-13-10来代入公式计算。编辑本段代码代码如下:// java code//y-年,m-月,d-日期string CaculateWeekDay(int y,int m, int d){if(m==1||m==2) {m+=12;y--;}int week=(d+2 阅读全文
posted @ 2013-08-01 09:13 hpu张亚飞 阅读(759) 评论(0) 推荐(0) 编辑