Мне интересно, потому что когда я запускаю свой код в режиме проверки, похоже, есть некоторые несоответствия. Например:В чем разница между 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 –
Я знаю, что он не указан в api, но попробуйте что-то вроде 'print (9.pow (2));' и оно будет работать. – CopOnTheRun