201503-3
晚上就写了一题,忘记闰年的概念、看错题目啊啊啊啊,提交了四次才通过。
以为闰年就是400的整数,提交一次0分才反应过来。
同时,一直以为是自行输入不限个数的年份。google题解才终于明白自己的错在哪了呜呜呜。
我是个大傻逼。
int mon[12]={31,28,31,30,31,30,31,31,30,31,30,31};
// 0001年到y年(包括)有多少个闰年
int numLeapYear(int y) {
return y/4 - y/100 + y/400;
}
int main() {
int month,number,week;
int years[205];
memset(years,0,sizeof(years));
cin>>month>>number>>week;
int y1,y2;
cin>>y1>>y2;
int days=0,all=0;
for(int k=0;k<month-1;k++){
all+=mon[k];
}
int flag=0;
for(int j=y1;j<=y2;j++){
days=0;
flag=0;
days=numLeapYear(j-1)+365*(j-1);
days+=all;
//如果是闰年
if((j%400==0)||(j%4==0&&j%100!=0)){
if(month>2) days+=1;
if(month==2) flag=1;
}
//指定月份第一天
int index=1+days%7;
if(index>7) index%=7;
int date=0;
// cout<<index<<" ";
if(index<week){
date=7*(number-1)+week-index+1;
}else if(index>week){
date=7*number+week-index+1;
}else{
date=date+7*(number-1)+1;
}
if(date>(mon[month-1]+flag)){
cout<<"none"<<endl;
}else{
cout<<j<<"/" ;
if(month<10) cout<<"0";
cout<<month<<"/";
if(date<10) cout<<"0";
cout<<date<<endl;
}
}
return 0;
}
//
今天做痛苦的地方在与重新安装Qt。
真的佛了,电脑上原本有Qt5.9.9,为了项目需要,我又下载了Qt6.1.2,经过一系列安装配置找教程,新版本打开文件运行报错,老版本貌似没问题。
于是我继续研究新版本,改配置改Kits改这改那,结果,老版本也报废了…
哭死~
吃完饭后,我决定把新版本删了,挽回老版本。
结果删完后,还是回不来了…
啊啊啊啊啊,气死了啊。
找了一堆视频教程,对准安装,发现自己的账号只能下载commercial版本,真就见了鬼了。无论用官方的链接还是博主的链接,下载的exe打开后登录都只能下载commercial,没有开源!!!
难怪早上的新版本不对劲…
尝试了无数遍无果,账号不行,一直磨到四五点钟,用学长的账号登录,终于完成开源版的下载。
终于能正常运行代码了.
好疲惫。
晚上干火锅,快乐,可惜不小心踩坑,结账好贵好贵…心又痛了…