题目描述 小珅最近看到了一个手机尾号估价的直播,人们总会按照内心喜好的对四位的手机尾号附加一些意义和价值,小珅也设置了一个估价规则:
8888
66048
基础价格:8+8+8+8=32,连号加价 32+8^4=4128,特殊数字翻倍 4128* 2* 2* 2* 2=66048
0000
0
8848
736
基础价格:8+8+4+8=28,连号加价 28+8^2=92,特殊数字翻倍 92* 2* 2* 2=736
我的代码
#include<bits/stdc++.h>
using namespace std;
#define int long long
signed main() {
string s;
cin>>s;
int ans0=0;
for(char c:s){
ans0+=c-'0';
}
int cnt1=1,ss,cnt=1;
for(int i=0;i<s.size()-1;i++){
if(s[i]==s[i+1]){
cnt1++;
ss=s[i]-'0';
}
}
for(int i=1;i<=cnt1;i++){
cnt*=ss;
}
int sum=cnt+ans0;
int sa=count(s.begin(),s.end(),'8')+count(s.begin(),s.end(),'6');
for(int i=1;i<=sa;i++){
sum*=2;
}
cout<<sum<<endl;
return 0;
}
求解答(24%)