STIPC_编程挑战系列赛第一场(小郭的故事)_B.小郭还想做签到

原题链接:STIPC-001_B.小郭还想做签到

B.小郭还想做签到

题目背景

怎么样,签到题很简单吧,复制一下就 A C AC AC A c c e p t Accept Accept ,即答对问题)了!因此,小郭做完了刚刚那道签到题以后,他还想再做一道。于是他的好基友小马大发慈悲,又出了一道题,下面让我们看看吧!

题目描述

今天是 2021 年 5 月 20 日 2021年5月20日 2021520,是小马最爱的日子,于是他问小郭 2001 年 7 月 29 日 2001年7月29日 2001729 到今天已经过去了多少天,假设过去了 x x x 天。之所以小马问小郭这个问题,是因为那天是小马的生日。同时,给你一个整数 n n n ,要求你输出 x + n x + n x+n

输入格式

输入一个整数 n n n

输出格式

输出一个整数。

输入输出样例

说明/提示

数据范围:
对于 60 % 60 \% 60% 的数据, − 1 0 5 ≤ n ≤ 1 0 12 -10^{5} \le n \le 10 ^{12} 105n1012
对于 100 % 100 \% 100% 的数据, − 1 0 5 ≤ n ≤ 1 0 18 -10^{5} \le n \le 10^{18} 105n1018

题目解析:

本题只需算出2001年7月29日到2021年5月20日有几天即可。可以手算(或打代码)得出,总共有 :
(2 + 31 + 30 + 31 + 30 + 31) +5 * 366(5个闰年)+ 14 * 365(14个平年) + (31 + 28 + 31 + 30 + 20 )= 7235 天。

你以为这样就做完了吗?当然不是,小郭的签到题没有那么简单啦!在这里挖了一个小坑,要注意数据范围:

对于 60 % 60 \% 60% 的数据, − 1 0 5 ≤ n ≤ 1 0 12 -10^{5} \le n \le 10 ^{12} 105n1012
对于 100 % 100 \% 100% 的数据, − 1 0 5 ≤ n ≤ 1 0 18 -10^{5} \le n \le 10^{18} 105n1018

许多同学将 n n n 定义为 i n t int int 型,只得到了 60 60 60 分,是因为 i n t int int 的范围为 − 2147483648 ~ 2147483647 ( − 2 31 ~ 2 31 − 1 ) -2147483648 ~2147483647(-2^{31} ~2^{31}-1) 21474836482147483647(2312311),大约为 1 0 10 10^{10} 1010 数量级,明显不满足题目要求的 1 0 18 10^{18} 1018 数量级。因此需要使用数据类型 l o n g long long i n t int int 来定义 n n n

AC代码(C++):
#include<iostream>
using namespace std;
int main() {
    long int n;
    cin >> n;
    cout << n + 7235;
    return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Grape_L

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值