/********************************************************************************* Copyright (C), 1988-1999, Drvivermonkey. Co., Ltd. File name:Author:Driver Monkey version:mail:[email protected] qq:196568501 date:2014.04.02 Description : The recursive exercise gives an arbitrary floating-point number to find the smallest integer value that turns the fractional part into an integer ******************************************************************************** */#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);//Take integer part double y_fractional_part = Y-y_int_part; Take a decimal part if (Fabs (y_fractional_part) <= pricision) {return guess; } int new_guess = guess + 2;//decimal to integer The minimum step is 2 fuction (x, new_guess, pricision);}
Recursive exercise gives an arbitrary floating-point number to find the smallest integer value of the fractional part