问题标题: 酷町堂:5053 生日愿望

0
0
已解决
李瑞曦
李瑞曦
高级天翼
高级天翼
#include<iostream>
#include<cmath>
using namespace std;
int a[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
int main(){
    int x,y,z,s=0,d;
    cin>>x>>y>>z>>d;
    if(x%4==0&&x%100!=0||x%400==0){
        cout<<d+366%7;
    }
    else {
        cout<<d+365%7;
    }
    return 0;}

70分

大佬来找茬

李瑞曦在2020-07-31 17:51:16追加了内容

顶!

李瑞曦在2020-07-31 18:16:05追加了内容
#include<iostream>
#include<cmath>
using namespace std;
int main(){
    int x,y,z,s=0,d;
    cin>>x>>y>>z>>d;
    if(x%4==0&&x%100!=0||x%400==0&&y<=2||(x+1)%4==0&&(x+1)%100!=0||(x+1)%400==0&&y<=2){
        if(d+366%7>7){
            cout<<(d+366%7)%7;
        }
        else {
            cout<<d+366%7;
        }
    }
    else {
        if(d+365%7>7){
            cout<<(d+365%7)%7;
        }
        else {
            cout<<d+365%7;
        }
    }
    return 0;}
90分

 


0
已采纳
李鑫羽
李鑫羽
初级光能
初级光能

核心代码:

if(n%4==0&&n%100!=0&&y<=2||n%400==0&&y<=2||(n+1)%4==0&&(n+1)%100!=0&&y>2||(n+1)%400==0&&y>2){
        cout<<a[(x+1)%7];
    }
    else{
        cout<<a[x%7];
    }

定义

int n,y,r,x,a[7]={1,2,3,4,5,6,7};

所有人不许举报我

0
王子健
王子健
初级天翼
初级天翼

你们这是轮番问作业题

0
0
李素妍
李素妍
新手天翼
新手天翼

老师的回答:

解题思路
先计算到下一年经过多少天?(判断闰年)
通过模运算计算出下一个生日在第几周 
需要考虑的点
1、关于闰年的考虑
(1) 判断间隔天数是不是只需要考虑今年是不是闰年?需不需要考虑下一年是不是闰年?
比如:
当前日期是2019年3月1日,下一年的生日2020年3月1日,这中间过了多少天? 
(2)间隔天数是不是只与年份有关,与月份有没有关系?
比如:
2016年3月1日至2017年3月1日,中间过了多少天? 
2、计算完,周日怎么表示
 

李素妍在2020-07-31 18:02:24追加了内容

所有人不许就报我:90分代码

李素妍在2020-07-31 18:30:03追加了内容

另一个90分

0
我要回答