Почему при вызове функции ninthDegree мы используем long a, а не long b?
Так же не пропускает решение типа " long b = cube(a) * cube(a) * cube(a) ";
Правильный фрагмент:
public static long ninthDegree(long a){
long b = (ВЫЗЫВАЕМ КУБ А);
return b;
}
Неправильный фрагмент:
public static long ninthDegree(long b){
long b = (ВЫЗЫВАЕМ КУБ А);
return b;
}
Не понимаю, почему вызывая кубА в методе 9степень, оная должна зависеть от А.
Я представляю это как КубА = А = А*А*А, а 9степень = Б = (А*А*А) * (А*А*А) * (А*А*А), т.е. если нужно узнать вычисления каждого этапа, то в sout вызываем необходимый метод.
PS старался максимально без спойлеров
wf
33 уровень
Вопрос знатокам по
Решен
Комментарии (14)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Fruitella
3 февраля 2022, 18:31
Я помню эту задачу. Она точно такая же почти как и возвести в третью степень число. Я себе даже код записал полностью в блокнот и для себя описание как я это понял. Может быть тебе тоже поможет.
--------------------------------------------------------------
public class Solution {
public static void main(String[] args) {
System.out.print(ninthDegree(5));
}
public static long cube(long a) {
return a * a * a;
}
//напишите тут ваш код
public static long ninthDegree(long a) {
return cube(cube(a));
}
}
Возведение в 9 степень. В лонг кубе мы возвели 5 в третью степень. В лонг ninthDegree мы возводим в 9 степень.
В статике мейн мы обращаемся к статическому методу ninthDegree и выводим в консоль задав значение 5.
----------------------------------------------------------------
+2
wf
5 февраля 2022, 15:07
Мне тут непонятно, почему в NinthDegree мы используем параметр "лонг а", ведь лонг а - это return (т.е. возвращаемое значение) от cube(a).
Не понимаю, почему при вызове "cube a", мы вновь используем переменную "а", хотя это вроде результат метода "cube a".
0
wf
5 февраля 2022, 15:11
Для себя просто пометил это, как область видимости переменных.
Т.е. "лонг а" после вызова метода (функции) "куб", просто удаляется и чтобы поддерживать вычисления, нам необходимо вновь вызвать "лонг а", чтобы программа работала, иначе переменная будет потеряна.
Не уверен, что это так, но это единственное объеснение, которое приходит в голову(((
0
Fruitella
5 февраля 2022, 15:26
Ретерном ты вернул значение в статический метод cube (ты получил 3 степень). Теперь нужно получить 9 степень, нужно умножить 3 степень на 3 степень.
В ninthDegree ты возвращаешь значение, cube умножить на cube. Затем полученные данные из ninthDegree вызываешь это в мейне (одновременно присваивая значение переменной long a)
+1
Ksenia VolkovaJava Developer в DXCMaster
5 февраля 2022, 15:26решение
У каждого метода - свои локальные переменные.
Переменная a в cube() и переменная a в ninthDegree() никак не связаны.
+2
Fruitella
5 февраля 2022, 15:31
Я сам еще обучаюсь, но думаю я правильно объяснил. Если нет, то знающие люди меня поправят.
0
wf
5 февраля 2022, 16:24
Значит, (утрируя) если будет Cube(long a) и NinthDegree(long b), то код будет работать?
Применительно не конкретно к этой задаче, а к алгоритму в целом
0
wf
5 февраля 2022, 16:25
То есть я вернул значение ("3") или значение (long a = 3)?
0
wf
5 февраля 2022, 16:31
Всё, решено, ухожу читать Шилдта
Примерно начинаю понимать, как это работает
Всем спасибо за помощь))))
0
Денис Enterprise Java Developer
3 февраля 2022, 16:41
Так же не пропускает решение типа " long b = cube(a) * cube(a) * cube(a) ";
А вы уверены что произведение трех кубов это 9 степень? :)
вот вам пример:
3^9 = 3 * 3 * 3 * 3 * 3 * 3 * 3 * 3 * 3 = 19683
(3^3)*(3^3)*(3^3) = 9^3 = 729
Касаемо вашего основного вопроса, без всего кода задачи и условия, я вам, боюсь, не подскажу ничего.
0
wf
5 февраля 2022, 15:02
Ахах))) не уверен, просто балуюсь)))
код скопировал из IDE JavaRush. Задача 7 уровня 3 лекции
0
Денис Enterprise Java Developer
5 февраля 2022, 15:21
Не у всех открыт новый квест по синтаксису, я на это намекал :)
0
Ksenia VolkovaJava Developer в DXCMaster
5 февраля 2022, 15:24
С каких пор (3^3) = 9 ? ))
+2
Денис Enterprise Java Developer
5 февраля 2022, 16:05
фак ) чето и я тупанул :) Спасибо что заметила!
0