Это не домашнее задание, это просто практика. Мой первый способ написать:Рекурсия ... Я застрял
Напишите силу статического рекурсивного метода, которая принимает два аргумента int с именами x и p и возвращает x, умноженное на себя p раз.
Я сделал это, и вот код:
public static int power(int x, int p)
{
if(p==0)
{
return 1;
}
else
{
int result = x * power(x, p - 1);
return result;
}
}
Следующая проблема была:
Каждый уровень пирамиды представляет собой квадрат, так что если есть ˝n˝ уровни, нижний уровень имеет n * n шаров, а общее количество шаров равно (n * n) + (количество шаров в пирамиде высотой n - 1).
В пирамиде высотой всего один шар 1. Напишите статический рекурсивный метод getPyramidCount
, который принимает один аргумент int, представляющий количество уровней в пирамиде, и возвращает общее количество шаров. (Используйте свой метод мощности выше квадратного числа.)
Я так расстроен, что понятия не имею, как это написать. Я знаю, что хочу сделать еще один метод, который включает в себя метод мощности, но я так невежественен. Вы можете мне помочь? На данный момент я чувствую, что видеть, что чей-то код для этого - единственный способ понять меня.
РЕДАКТИРОВАТЬ: Не означает, что там есть 2. Это должно быть х! Я делал 2 к 8-й силе и забыл положить x вместо 2!
Ваш код не разрешает данную проблему. [3 до степени 3 не 8] (http://ideone.com/u4FLV9) ... –
Ваш метод мощности неправильный, как вы уже сказали. Что касается проблемы пирамиды, возможно, вам следует прочитать об этом сначала в [wikipedia] (http://en.wikipedia.org/wiki/Square_pyramidal_number), а затем вы можете придумать идею. – RealSkeptic
Если вы действительно хотите, чтобы ваши ноги владели практикой рекурсии, попробуйте написать метод, который сканирует каталог и все его подкаталоги (и все их подкаталоги и т. Д.) Для файлов с именами, начинающимися с определенной строки. Это очень легко визуализировать и, таким образом, понять применение рекурсии. – Gimby