void printScientificNotation(double value, int powerOfTen)
{
if (value >= 1.0 && value < 10.0)
{
System.out.println(value + " x 10^" + powerOfTen);
}
else if (value < 1.0)
{
printScientificNotation(value * 10, powerOfTen - 1);
}
else // value >= 10.0
{
printScientificNotation(value/10, powerOfTen + 1);
}
假设imputs不会导致无限循环
我理解的方法如何去,但我不能想出一个办法来表示方法。例如,如果值为0.00000009或9e-8,则该方法将调用printScientificNotation(value * 10,powerOfTen - 1);否则,将调用printScientificNotation(value * 10,powerOfTen - 1)。八次和System.out.println(值+“x 10 ^”+ powerOfTen);一旦。
所以它被e的指数递归调用。但是,我怎么用大O符号表示这个呢?
谢谢!
嗨,我忘了补充假设输入不会导致任何无限循环 – Dann 2010-04-25 20:16:32
谢谢!我现在明白了 – Dann 2010-04-25 21:08:28