首页 > 学院 > 开发设计 > 正文

1049. Counting Ones (30)

2019-11-14 11:08:40
字体:
来源:转载
供稿:网友

1049. Counting Ones (30) 思路:计算每个‘位’上为1的组合个数,再进行求和

#include <iostream>#include <cmath>#include <cstdlib>#include <string>using namespace std;int main(){ string n; cin>>n; int ans=0; for(int i=0;i!=(int)n.size();++i) { int mid=n[i]-'0'; int left=atoi(n.substr(0,i).c_str()); int right=atoi(n.substr(i+1).c_str()); int ex=n.size()-i-1; if(mid==1)ans+=left*pow(10,ex)+right+1; else if(mid==0)ans+=left*pow(10,ex); else ans+=(left+1)*pow(10,ex); } cout<<ans; return 0;}
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表