1856弗洛格
阿新 • • 發佈:2020-11-21
描述
青蛙弗洛格和它的媽媽是火星動物,在火星上,每年都有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; 9if(n>=27) cout<<30-abs(27-n)%30; 10 return 0; 11 }
完工