当前位置:网站首页>7-5 staircase upgrade (PTA program design)

7-5 staircase upgrade (PTA program design)

2022-07-06 13:56:00 Programming Lindaiyu

Take the stairs upgrade , In front of you n(n>=1) Steps , You can walk at one time 1 Steps , You can also walk at one time 2 Steps , just so so 1 Take three steps at a time , Excuse me, n How many kinds of steps are there ?

Input format :

Please write and enter a positive integer here n(n>=1).

Output format :

Output n Step by step .

sample input :

Here's a set of inputs . for example :

4

Examples "> sample output :

Here is the corresponding output . for example :

7

Code (Python):

def func(n):  # Set up a function 
    if n==1 or n==2:  # You can walk at one time 1 Stairs or 2 Staircase 
        return n  # If n=1( Yes 1 Staircase ) There is a way to walk ;n=2( Yes 2 Staircase ) There are two ways to walk 
    elif n==3:  # You can walk at one time 3 Staircase 
        return 4  # If n=3( Yes 3 Staircase ) There is 4 Seed walking method 
    else:
        return func(n-1)+func(n-2)+func(n-3)  # otherwise , Then use the idea of iteration , Calling self function in function 
n=int(input())  # Enter the stair step 
m=func(n)  # Call function 
print("%d"%m,end='')  # Output results 

( Here are my thoughts from seeing this problem to working it out , It may be helpful to you )

Ideas : When I first saw this problem , The first word that came out of my mind was combination . Because the title has given that you can only go once 1 rank 、2 Step or 3 Staircase , So at the beginning, I wanted to solve the problem by combining these three different walking methods , That is to say x Time 1 Staircase ,y Time 2 Staircase ,z Time 3 Staircase , then x+2*y+3*z=n. But ignore x,y,z Cases with the same value but different order , I find it troublesome to write like this , And didn't come up with a specific implementation . Then I thought I could use one “ Primary school students ” The way to , such as , When teaching addition in primary school, teachers often ask questions such as :7 Can be divided into several and several , We answer :1 and 6,2 and 5,3 and 4...... Then, because in this question, you can only walk at one time 1 rank 、2 Step or 3 Staircase , So you will finally 7 Only 1,2,3 Several combinations of . So there is iteration . Iteration is the activity of repeating the feedback process , Its purpose is usually to approach the desired goal or result . Every repetition of a process is called a “ iteration ”, The result of each iteration will be taken as the initial value of the next iteration . This is the concept of iteration given by Baidu Encyclopedia , In my understanding , It can be understood as “ Function is applied to its own function ”. Specific to this topic , Through iteration , Divide the final number of stairs into 1,2,3. So in the above function, we first give n by 1,2,3 Walking in time . When n For other values , By iteration , Call its own function , Continue splitting , Until it is completely split into 1,2,3 until . The following example is n by 7 The specific implementation of the program , Maybe it can help you understand . 

The above program gives more detailed comments , For novice Xiaobai's reference . The idea of program design or code implementation is not optimal , You are welcome to correct your mistakes or give better ideas .

I am a rookie who wants to be Kunpeng , Everyone's encouragement is my driving force , Welcome to like collection comments !
 

原网站

版权声明
本文为[Programming Lindaiyu]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/187/202207060917047357.html