[Java] Blue Bridge рекурсивный основа 39 шагов

тема:

Сяо Мин был только что смотрел фильм «Первые 39 шагов.» ! При выходе из театра, он подсчитал количество шагов перед зрительным залом, случается, 39
Стоя на крыльце, он вдруг думать о вопросе:
Если я могу выйти на каждые один или два этапа. Шаг левой ногой, а затем развернуться, последний шаг является шагом правой ноги, что означает в общей сложности четное число шагов , чтобы идти. Затем выполните 39 шагов, сколько различных по закону?
Пожалуйста , воспользоваться компьютерами , чтобы помочь Бобу найти ответы.

Реализация кода:

package xn.zzunit.recurrence;

/**
 * 
 * @author tyrantForever
 *
 */
public class Project4 {
	//表示一共走的步数
	static int step = 0;
	//表示所有的方法数
	static int totalNumber = 0;
	
	public static void main(String[] args) {
		getNumber(0);
		System.out.println(totalNumber);
		//System.out.println(step);
	}
	
	public static void getNumber(int stage) {
		if(stage == 39) {
			if(step % 2 == 0) {
				totalNumber++;
			}
			return;
		}else {
			step++;
			getNumber(stage + 1);
			step--;
			if(stage <= 37) {
				step++;
				getNumber(stage + 2);
				step--;
			}
		}
	
	}

}

Примечание:

(1) Обратите внимание на разницу между количеством шагов и числом шагов

Опубликовано 130 оригинальных статей · вона похвала 37 · просмотров 10000 +

рекомендация

отblog.csdn.net/tyrant_forever/article/details/104404719