/*********************************************************************************
Copyright (C), 1988⑴999, drvivermonkey. Co., Ltd.
File name:
Author: Driver Monkey
Version:
Mail:bookworepeng@hotmail.com qq:196568501
Date: 2014.04.02
Description: 递归练习之 给出任意浮点数, 找出将小数部份变成整数最小整数值
*********************************************************************************/
#include <iostream>
#include <sstream>
#include <fstream>
#include <iostream>
#include <iomanip>
#include <string>
#include <memory.h>
#include <thread>
#include <stdlib.h>
#include <math.h>
using namespace std;
static int fuction(double x, int guess, double pricision);
int main()
{
double x = 1.5;
double y = fuction(x,2,0.0001);
cout<<"fuction = " <<y<<endl;
cout<<"x * y = "<<x*y<<endl;
return 0;
}
static int fuction(double x, int guess, double pricision)
{
double y = x * guess;
double y_int_part = round(y);//取整数部份
double y_fractional_part = y - y_int_part; //取小数部份
if(fabs(y_fractional_part) <= pricision)
{
return guess;
}
int new_guess = guess + 2;//小数变成整数的最小步进是 2
fuction(x, new_guess, pricision);
}