выше вопрос, о котором я говорю!

Я лично считаю, что инструкции не ясны, поэтому, поскольку я абсолютный новичок в программировании с первого дня моего двухлетнего пути программирования, мне потребовалось около 2 дней, чтобы сделать это правильно (после того, как я проигнорировал честь и щелкнул чтобы увидеть решение, то позже я сделал это со своей собственной логикой (или, по крайней мере, я называю это своей)).

Давайте начнем..

Я также прокомментировал следующее на вкладке обсуждения этого вопроса для понимания цели и в надежде, что это поможет другим.

Думайте, что вы строитель (тот, кто строит здания/квартиры).

и вам дается бесконечное пространство/ширина, но ограниченная высота (то есть m здесь [параметр функции]).

теперь вы должны построить блоки/этажи и в конце сказать нам, сколько блоков вы построили на заданной высоте.

и здесь, например, если каждый блок занимает 1 высоту, а вам задано 5 в качестве ограничения по высоте, тогда вы можете построить 5 блоков/этажей, и будет использоваться вся заданная высота.

но если для построения каждого блока требуется 2 высоты, то вы можете построить, но вы должны оставить 1 высоту свободной, так как невозможно построить третий (5 % 2 => 1).

если вы столкнулись с первым случаем, верните нет. этажей, которые вы построили.

если вы столкнулись с более поздним/вторым случаем, верните -1, так как невозможно построить заданную высоту, и вы не должны оставлять какую-либо высоту пустой.

хорошо, теперь, что именно говорит вопрос, это просто вернуть нет. этажей/блоков/кубов или значение n!

Итак, если он хочет что-то повторяющееся, то, конечно, мы будем рассматривать цикл.

но мы рассмотрим while, а не for, потому что мы можем избежать этих дополнительных, объявив новую переменную все эти вещи или потому, что я почти не использую другие вещи, так как я почти не знаю, что использовать, где использовать, конечно, потому что я абсолютный новичок.

Давайте начнем..

если вы слишком решаете это с помощью dart (я не думаю, что кто-то делает это в наши дни, по крайней мере), то вы, скорее всего, увидите функцию с именем findNb ().

здесь мы сначала объявим некоторые переменные.

инт п = 0; // это этажи

инт г = 1; // это цокольный этаж или, скажем, подвал.

номер результата = 0;

теперь вы можете заметить, что результат имеет тип num, а не int, потому что даже я не знаю, он просто плохо работал с double и int (неприемлемо для кода, который мы будем использовать для хранения значения).

и g, поскольку в вопросе указано, что последнее значение равно 1³.

вот и наша петля!

while (результат ‹ m) {
результат += pow(n + g, 3);
n += 1;
}

теперь что такое m?, это фактически заданное значение, с которым мы должны сравнить наш результат, и здесь мы также видим pow.

это означает, что мы должны импортировать библиотеку dart:math, или мы также можем использовать что-то вроде этого, традиционный способ умножения значения на количество раз, равное мощности.

как здесь n -> 0 + g -> 1 => 1, 1 * 1 * 1

и тогда теперь после всех вычислений мы должны проверить, возможен ли результат или нет, если он возможен/действителен, то мы возвращаем n, иначе мы возвращаем -1, как было указано в инструкции.

if(result == m) return n;
return -1;

импортировать «дротик: математика»;

int findNb(int m) {
int n = 0; // этажи
int g = 1; // первый этаж или подвал
num result = 0;

while (result ‹ m) {
result += pow(n + g, 3);
n += 1;
}
if (результат == m) return n;
return -1;
}

если вы запутались, пожалуйста, прочитайте комментарий, о котором я говорил ранее (да, тот, который я дал даже в этой истории/статье.

надеюсь, это помогло вам выбраться из депрессии, я имею в виду, что увидеть, как кто-то пишет хуже, чем вы, почти несбыточная мечта, верно?

-Прощай!