文章
60
粉丝
361
获赞
43
访问
527.7k
这道题机试的话,我觉得最快的是暴力算法,毕竟思考年份啥的+1-1的关系比较费脑细胞
算法的思想是,从较小的时间开始,一天一天的加,加到和较大的时间一样为止。看加了多少次。
这样思路就很清晰了
#include<iostream>
#include <string>
using namespace std;
int main()
{
int month[2][13]=
{{0,31,28,31,30,31,30,31,31,30,31,30,31},
{0,31,29,31,30,31,30,31,31,30,31,30,31}
};
int num1,num2;
while(cin>>num1)
{
cin>>num2;
int cnt=1;
if(num1>num2)//进行交换 确保num1最大
{
int temp=num1;
num1=num2;
num2=temp;
}
int year1=num1/10000,month1=num1%10000/100,day1=num1%100;
int year2=num2/10000,month2=num2%10000/100,day2=num2%100;
int num1=0,num2=0;
while(!(year1==year2&&month1==month2&&day1==day2))
{
//判断闰年
int flag=0;
if((year1%400==0)||(year1%4==0)&&(year1%100!=0))
flag=1;
else
flag=0;
day1++;
cnt++;
if(day1>month[flag][month1])
{
day1=1;
month1++;
if(month1>12)
{
month1=1;
year1++;
}
}
}...
登录后发布评论
暂无评论,来抢沙发