1
我想知道,因爲當我在檢查模式下運行我的代碼時,似乎有一些差異。例如:x.pow(n)和pow(x,n)之間的區別是什麼?
List<List> getFactors(int n)
{
List<List> factors = [[1, n]];
double top = pow(n,1/2);
int test = 2;
while (test <= top)
{
if (n % test == 0)
factors.add([test, n ~/ test]);
test++;
}
return factors;
}
工作原理是,但是當我改變pow(n,1/2)
到n.pow(1/2)
它返回檢查模式錯誤。唯一的解決辦法是將n
的類型更改爲雙倍。爲什麼是這樣?兩者之間的一般差異也很好理解。謝謝!
我不認爲int,num或double有pow方法,只有Math.pow()。 http://api.dartlang.org/docs/releases/latest/dart_math.html#pow http://api.dartlang.org/docs/releases/latest/dart_core/num.html – 2013-04-29 01:07:45
我知道它沒有列在api引用,但可以嘗試像'print(9.pow(2));'並且它可以工作。 – CopOnTheRun 2013-04-29 02:21:06