string fractionToDecimal(int numerator, int denominator) { long long n=numerator,d=denominator; string ans=""; map<long long,int> m; if(n*d<0) ans+="-"; n=abs(n); d=abs(d); if(n%d==0) { ans+=to_string(n/d); return ans; } if(n<d) ans+="0."; else ans+=to_string(n/d)+"."; long long t=n%d; while(t) { if(m[t]) { ans.insert(m[t],"("); ans.push_back(')'); return ans; } m[t]=ans.size(); ans+=to_string(t*10/d);//ans+='0'+t*10/d;也一样 t=t*10%d; } return ans; }