k181 - 我愛 88 大回饋
題目描述
題目要求根據身分證字號中 '8' 的數量計算折扣。'8' 的數量越多,折扣越大,最多到 8 個 '8' 時折扣為 2 折。
解題思路
這題的解題思路非常簡單,只需要遍歷身分證字號字串,計算其中 '8' 的數量,然後根據 '8' 的數量計算折扣即可。折扣的計算方式是:'8' 的數量乘以 10,得到折扣百分比。
複雜度分析
- 時間複雜度: O(n),其中 n 是身分證字號的長度。因為需要遍歷字串一次。
- 空間複雜度: O(1),因為只使用了常數個額外的變數。
程式碼
#include <iostream>
using namespace std;
string s;
int ct=0;
int main(){
cin >> s;
for(int i=0;i<s.size();++i)
if(s[i]=='8')++ct;
cout << s << " can get " << ct*10 << "% off.";
}