HDU 1076 An Easy Task
超级简单的一道题,超级水
#include <iostream> using namespace std; int main(){ int T; int Y,N; cin>>T; while(T--){ cin>>Y>>N; int cnt = 0; for(;cnt<N;Y++) if ((Y%4==0 && Y%100!=0) || Y%400==0) ++cnt; Y--; cout<<Y<<endl; } return 0; }
注意到一个细节就行了,就是当cnt递增到N-1的时候,Y为N个润年了,这时候cnt++,且=N,这时候Y还是++的,所以在最后Y要--,通过debug更好的理解了for循环俩面三个表达式的运行过程,即循环结束debug箭头返回for,并不代表满足2式(for(1;2;3)),若满足2式,箭头进去循环内执行语句,结束还是要返回for,执行3。