码迷,mamicode.com
首页 > 其他好文 > 详细

分数转化为小数

时间:2014-08-13 22:28:47      阅读:277      评论:0      收藏:0      [点我收藏+]

标签:div   amp   size   res   sp   algorithm   return   public   

很水,但是需要练速度反映。。。15分钟全部写对!!!!!!!!!!!! 


#include <assert.h>
#include <algorithm>
#include <vector>
using namespace std;
class Decimal {
 public:
  int integer;
  bool recycle;
  vector<int> decimal;
};

void toDecimal(int dividend, int divisor, Decimal& decimal) {
  decimal.integer = dividend / divisor;
  int remainder = dividend % divisor, recycle = 0, end = 0, curbit = 0;
  while (remainder) {
    int cur = remainder*10/divisor;
    decimal.decimal.push_back(cur);
    
    if (recycle || curbit > 0)     
      recycle = decimal.decimal[recycle] == cur ? recycle + 1 : 0;
    
    if (curbit > 0 && recycle == end) {
      decimal.decimal.resize(recycle);
      decimal.recycle = true;
      return;
    }
    ++curbit;
    if (!recycle)
      end = curbit;    
    remainder = (remainder * 10) % divisor;
  }
  decimal.recycle = false;
}
int main() {

  Decimal dec;
  toDecimal(12,8,dec);

  return 0;
}



分数转化为小数,布布扣,bubuko.com

分数转化为小数

标签:div   amp   size   res   sp   algorithm   return   public   

原文地址:http://blog.csdn.net/taoqick/article/details/38542685

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!