1856弗洛格

描述

青蛙弗洛格和它的妈妈是火星动物,在火星上,每年都有 12 个月,每个月的天数都是30天,每个月都是从1号开始,然后是2号,...,每月的最后一天都是30号。

弗洛格妈妈想考查一下弗洛格的数学水平,于是问道: “今天是几号?” ,弗洛格回答: “27 号!” , 妈妈说:“正确! ” 。妈妈接着问: “前 1 天是几号?” ,弗洛格回答: “26 号!太简单了!我 读一年级就会了! ” 。妈妈再问: “前 N 天是几号?” ,弗洛格皱起眉头: “这个有点难,我 要写个程序来算” 。由于弗洛格的编程水平一般,你能帮帮它吗?

 

输入

一个整数 N,表示妈妈问弗洛格,前 N 天是几号?

 

输出

一个整数。

 

输入样例 1 

2

输出样例 1

25

输入样例 2 

21

输出样例 2

6


这一题我们可以用一个月的天数减去(27-n)的差的绝对值求出输入天数大于26时的方法
小于26天时,直接输出26-n
代码:
 1 #include<iostream>
 2 #include<bits/stdc++.h>
 3 using namespace std;
 4 int main()
 5 { 
 6     int n;
 7     cin>>n;
 8     if(n<=26) cout<<27-n;
 9     if(n>=27) cout<<30-abs(27-n);
10     return 0;
11 }

 

我用这个代码提交之后十个数据点,只对了六个。这就说明程序有漏洞。

还有一个点必须要考虑进来,这一题输入的天数有可能大于60或以上,这个时候就需要修改一下代码。

代码:

 1 #include<iostream>
 2 #include<bits/stdc++.h>
 3 using namespace std;
 4 int main()
 5 { 
 6     int n;
 7     cin>>n;
 8     if(n<=26) cout<<27-n;
 9     if(n>=27) cout<<30-abs(27-n)%30;
10     return 0;
11 }

完工

posted @ 2020-11-21 12:00  knbit  阅读(324)  评论(0编辑  收藏  举报