>>474 さあ、検算してくれたまへ
#include<map>
#include<vector>
#include<iostream>
int main(void){
int n, d, amari;
std::map<int, int> amari_map;
std::vector<int> result;

std::cout << "input n d :";
std::cin >> n >> d;
if(d==0) return 1;
std::cout << n/d << ".";
if(n<0) n=-n;
if(d<0) d=-d;
for(int i=0;(amari=n%d);++i){
if(amari_map.find(amari)!=amari_map.end()) break;
n=amari*10;
amari_map[amari]=i;
result.push_back(n/d);
}
if(amari){
int j=amari_map.find(amari)->second;
for(int i=0;i<j;i++) std::cout << result[i];
std::cout << "{";
for(int i=j;i<result.size();i++) std::cout << result[i];
std::cout << "}";
}else{
for(int i=0;i<result.size();i++) std::cout << result[i];
}
return 0;
}