小胖的幸运日
时间: 1ms 内存:128M
描述:
小胖的幸运数字是15,所以他觉得如果当天的日期的月份和天数相加等于15时,就是他的幸运日了,请确定小胖的下一次幸运日距离今天还有多久
输入:
当天的日期
输出:
距离下一次幸运日的天数
示例输入:
2018 12 02
示例输出:
1
提示:
参考答案(内存最优[1120]):
#include<stdio.h>
int main()
{
int year,month,day;
int days[]={0,31,28,31,30,31,30,31,31,30,31,30,31};
scanf("%d %d %d",&year,&month,&day);
if(year%4==0&&year%100!=0||year%400==0)days[2]++;
if(month+day>15){
int dayss = days[month]-day;
printf("%d",(dayss+(15-month-1)));
}else{
printf("%d\n",(15-month-day));
}
return 0;
}
参考答案(时间最优[1]):
#include<iostream>
using namespace std;
int main()
{
int y,m,d;
cin>>y>>m>>d;
int t = 0;
int s = 0;
if(m+d<=15)
{
cout<<15-(m+d)<<endl;
}
else if(m+d>15)
{
if(m==1||m==3||m==5||m==7||m==8||m==10||m==12)
{
t = 31 - d;
if(m==12)
{
cout<<14+t<<endl;
}
else
{
cout<<15-m-1+t<<endl;
}
}
if(m==2||m==4||m==6||m==9||m==11)
{
if(m==2)
{
if((y%4==0&&y%100!=0)||(y%400==0))
t = 29 - d;
else
t = 28 - d;
cout<<15-m-1+t<<endl;
}
else
{
t = 30 - d;
cout<<15-m-1+t<<endl;
}
}
}
return 0;
}
题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。