| Run ID | 作者 | 问题 | 语言 | 测评结果 | Time | Memory | 代码长度 | 提交时间 |
|---|---|---|---|---|---|---|---|---|
| 62868 | 戴文博 | 二进制小数转十进制 | C++ | Wrong Answer | 2 MS | 276 KB | 521 | 2023-12-30 14:29:08 |
#include<bits/stdc++.h> using namespace std; int main(){ string n; cin>>n; int len=n.size(); int d=-1; for(int i=0;i<len;i++){ if(n[i]=='.'){ d=i; break; } } if(d==-1){ int ans=0; for(int i=len-1;i>=0;i--){ ans+=(n[i]-'0')*pow(2,len-1-i); } cout<<ans; return 0; }else{ double ans=0; for(int i=d+1;i<len;i++){ ans+=(n[i]-'0')*pow(2,len-d-1-i); } for(int i=d-1;i>=0;i--){ ans+=(n[i]-'0')*pow(2,d-1-i); } cout<<ans; return 0; } return 0; }
------Input------
0.111
------Answer-----
0.875
------Your output-----
3.5