第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

可是超時(shí),它時(shí)間限制是2s,有什么更簡(jiǎn)單的算法嗎

可是超時(shí),它時(shí)間限制是2s,有什么更簡(jiǎn)單的算法嗎

C++
慕斯709654 2023-04-02 12:08:27
輸入輸入文件的每一行上有四個(gè)整數(shù)y、m、d、days,其中y表示年份(只考慮公元后的年份)、m表示月份、d表示m月中的第幾天、days表示y年中第幾天。為問(wèn)題簡(jiǎn)單起見(jiàn),你可認(rèn)為輸入的數(shù)據(jù)是合法的。輸出對(duì)輸入中的每一個(gè)年月日數(shù)據(jù)y、m、d、days,在同一行上,先按y年m月d日輸出這一天是這一年中的第幾天,接著對(duì)y年的第days天輸出這一天的日期(月和日)。三數(shù)據(jù)之間留一個(gè)空格,無(wú)前導(dǎo)字符“0”。尾部無(wú)多余空格。輸入樣例2007 7 6 2302008 7 1 571999 2 19 365輸出樣例187 8 18183 2 2650 12 31然后我寫了以下代碼#include<iostream>using namespace std;int main(){int month[12]={31,28,31,30,31,30,31,31,30,31,30,31};while(true){int y,m,d,days,s=0;cin>>y>>m>>d>>days;if((y%4==0 && y%100!=0) || y%400==0)month[1]=29;else month[1]=28;for(int i=0;i<m-1;i++){s+=month[i];}s+=d;m=0;while(days>month[m]){days-=month[m++];}cout<<s<<' '<<++m<<' '<<days<<endl;}return 0;}
查看完整描述

2 回答

?
波斯汪

TA貢獻(xiàn)1811條經(jīng)驗(yàn) 獲得超4個(gè)贊

//有點(diǎn)不規(guī)范,幫你改了一下。?,F(xiàn)在很快了
//原因可能是變量的重復(fù)創(chuàng)建導(dǎo)致速度減慢
#include<iostream>
using namespace std;
int main()
{
int month[12]={31,28,31,30,31,30,31,31,30,31,30,31};
int i, y,m,d,days,s=0;
while(true)
{
cin>>y>>m>>d>>days;
if((y%4==0 && y%100!=0) || y%400==0)month[1]=29;
else month[1]=28;
for(i=0;i<m-1;i++) s+=month[i];
s+=d;
m=0;
while(days>month[m])
{
days-=month[m++];
}
cout<<s<<' '<<++m<<' '<<days<<endl;
}
return 0;
}

查看完整回答
反對(duì) 回復(fù) 2023-04-05
?
30秒到達(dá)戰(zhàn)場(chǎng)

TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超6個(gè)贊

#include <iostream.h> //包含C++輸入輸出頭文件
class date //聲明DATE類
{
int year;//聲明類成員year
int month;//聲明類成員month
int day;//聲明類成員day
public://以下為公有屬性
date(int y,int m,int d) //構(gòu)造函數(shù),傳入?yún)?shù)y,m,d
{
year=y;month=m;day=d; //分別賦值給類成員year,month,day
}
void disp()//顯示年月日函數(shù)
{
cout << year << "." << month << "." << day << endl;//分別顯示年月日,格式為年.月.日
}
friend int count_day(date &d,int); //聲明友元函數(shù) count_day 天數(shù)雙向計(jì)算函數(shù),方向由傳入的int是否為0決定
friend int leap(int year);//聲明友元函數(shù)leap 判斷傳入的year是否是閏年
friend int subs(date d1,date d2);//聲明友元函數(shù)subs 計(jì)算兩個(gè)傳入的date對(duì)象d1和d2相差多少天
};
int count_day(date &d,int flag) //count_day實(shí)現(xiàn)
{
static int day_tab[2][12]=,}; //每月天數(shù)數(shù)組,下標(biāo)0為非閏年各月天數(shù),下標(biāo)1為閏年
int p,i,s;//聲明變量p,i,s
if(leap(d.year))//如果傳入對(duì)象d的year成員為閏年
p=1; //則取數(shù)組下標(biāo)為1
else
p=0;//否則取0
if(flag)//如果傳入的flag變量非0
{
s=d.day;//s等于當(dāng)月的天數(shù)
for(i=1;i<d.month;i++) //循環(huán),加上之前每月的天數(shù)
s+=day_tab[p][i-1];
}
else //否則,當(dāng)flag=0
{
s=day_tab[p][d.month]-d.day; //s=該月天數(shù)減去d的日數(shù)(也就是日期d離本月結(jié)束還有多少天)
for (i=d.month+1;i<=12;i++) //循環(huán),加上該月之后每月的天數(shù)
s+=day_tab[p][i-1];
}
return(s);//返回s
}
int leap(int year)//閏年判斷函數(shù),是閏年返回1,否則返回0
{
if(year%4==0 && year%100!=0 || year%400==0)
return 1;
else
return 0;
}
int subs(date d1,date d2) //計(jì)算d1和d2相距多少天
{
int days,day1,day2,y;
if(d1.year<d2.year) //如果d2年份大于d1
{
days=count_day(d1,0); 計(jì)算d1距年底還有多少天
for(y=d1.year+1;y<d2.year;y++) 計(jì)算d1年份的之后一年到d2的年份的之前一年中間相隔多少天
if(leap(y)) //是閏年就加366天
days+=366L;
else
days+=365L;//否則加365天
days+=count_day(d2,1); //計(jì)算d2所在年到d2所在日有多少天
}
else if (d1.year==d2.year) //如果年份相等
{
day1=count_day(d1,1);//計(jì)算d1距年初有多少天
day2=count_day(d2,1);//計(jì)算d2距年初有多少天
days=day2-day1;//相減即為相隔天數(shù)
}
else//否則,即如果d1年份大于d2,反向計(jì)算,過(guò)程基本同第一個(gè)if
{
days=count_day(d2,0);
for(y=d2.year+1;y<d1.year;y++)
if(leap(y))
days+=366L;
else
days+=365L;
days+=count_day(d1,1);
}
return days;
}
void main()//主函數(shù)
{

date d1(2000,1,1),d2(2005,10,1); //構(gòu)造d1為2000年1月1日,d2為2005年10月1日
int ds1=subs(d1,d2),ds2=subs(d2,d1); //ds1為d1與d2相距多少天,ds2為d2與d1相距多少天,實(shí)際由于subs函數(shù)內(nèi)部自動(dòng)判斷d1 d2哪個(gè)大,所以輸出應(yīng)該是一樣的
cout << "日期d1:";d1.disp(); //顯示日期d1
cout << "日期d2:";d2.disp();//顯示日期d2
cout << "d1和d2相距" << ds1 << "天" << endl;//輸出ds1
cout << "d2和d1相距" << ds2 << "天" << endl;//輸出ds2
}


查看完整回答
反對(duì) 回復(fù) 2023-04-05
  • 2 回答
  • 0 關(guān)注
  • 209 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)