Run ID:149202
提交时间:2026-03-07 20:07:45
#include<bits/stdc++.h> using namespace std; string s; double k;int l,ll;char a[33]; int p; double sum; void xjz(int o,double i){ if(o==s.size())return; sum+=(s[s.size()-o+p+1]-'0')*i; xjz(o+1,i/2.0); } void jz(int o,int i){ if(o==s.size())return; if(s[o]=='.'){xjz(o+1,0.5);return;} sum+=(s[p-o]-'0')*i; jz(o+1,i*2); } void xz(int o){ if(ll==0)return; a[o]=(int)ll*2+'0'; cout<<a[o]; ll=ll*2-a[o]; xz(o+1); } void z(int o){ if(l==0){for(int i=o-1;i>0;i--)cout<<a[i];if(ll){cout<<".";xz(o+1);return;}return;} if(ll){a[o]='.';for(int i=o-1;i>0;i--)cout<<a[i];cout<<".";xz(o+1);return;} a[o]=(int)l%2+'0'; l/=2; z(o+1); } int main(){ /*cin>>s; for(int i=0;i<s.size();i++)if(s[i]=='.'){p=i-1;break;}*/ //jz(0,1); /*double po=1; for(int k=p;k>=0;k--){sum+=(po*(s[k]-'0')); po*=2; }po=0.5; for(int k=p+2;k<s.size();k++){ sum+=(po*(s[k]-'0')); po/=2; }*/ /*int l=s.size(); for(int i=0,j=l-1;i<l&&i>=0;i++,j--)sum+=(s[j]-'0')*pow(2,i);*/ //cout<<sum<<"\n"; cin>>k; l=(int)k; ll=k-l; p=0; z(1); return 0; }