求教,逼近值问题
算法的要求是这样的,写一个C函数,有三个输入参数,first, second, diff.
要求函数能计算出一个数值result,这个result应该是second的最小整数倍,且与first的整数倍的差的绝对值在diff以内的,
比如,first为3.6,second为35,diff为0.5的情况下,那么result就应该为140.
因为
140 = 35(second)*4;
3.6*39 - 140 = 0.4
0.4 < 0.5
double getResult(const double first, const double second, const double diff );
求高手给出解决办法。
要求函数能计算出一个数值result,这个result应该是second的最小整数倍,且与first的整数倍的差的绝对值在diff以内的,
比如,first为3.6,second为35,diff为0.5的情况下,那么result就应该为140.
因为
140 = 35(second)*4;
3.6*39 - 140 = 0.4
0.4 < 0.5
double getResult(const double first, const double second, const double diff );
求高手给出解决办法。
作者: poorbug 发布时间: 2011-06-08
用循环;
求mod,modulo;
判断。
求mod,modulo;
判断。
作者: cnmhx 发布时间: 2011-06-08
while( abs(fmod(second, frist) > diff)) {
second += second;
}
second += second;
}
作者: qianyulang 发布时间: 2011-06-08