C/C++の宿題を片付けます 120代目
■ このスレッドは過去ログ倉庫に格納されています
0478デフォルトの名無しさん
2008/12/20(土) 01:03:22#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;
}
■ このスレッドは過去ログ倉庫に格納されています