当前位置:网站首页>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 !
边栏推荐
- 记一次猫舍由外到内的渗透撞库操作提取-flag
- js判断对象是否是数组的几种方式
- Record a penetration of the cat shed from outside to inside. Library operation extraction flag
- The difference between cookies and sessions
- Mode 1 two-way serial communication is adopted between machine a and machine B, and the specific requirements are as follows: (1) the K1 key of machine a can control the ledi of machine B to turn on a
- Mixlab unbounded community white paper officially released
- 关于双亲委派机制和类加载的过程
- MySQL事务及实现原理全面总结,再也不用担心面试
- [面试时]——我如何讲清楚TCP实现可靠传输的机制
- 【MySQL数据库的学习】
猜你喜欢
The difference between cookies and sessions
Renforcer les dossiers de base de l'apprentissage
Attach the simplified sample database to the SQLSERVER database instance
C language Getting Started Guide
(original) make an electronic clock with LCD1602 display to display the current time on the LCD. The display format is "hour: minute: Second: second". There are four function keys K1 ~ K4, and the fun
[面试时]——我如何讲清楚TCP实现可靠传输的机制
1. Preliminary exercises of C language (1)
Poker game program - man machine confrontation
[hand tearing code] single case mode and producer / consumer mode
7-7 7003 组合锁(PTA程序设计)
随机推荐
简述xhr -xhr的基本使用
. How to upload XMIND files to Jinshan document sharing online editing?
Package bedding of components
canvas基础2 - arc - 画弧线
Beautified table style
Experiment 9 input and output stream (excerpt)
SRC mining ideas and methods
ABA问题遇到过吗,详细说以下,如何避免ABA问题
Canvas foundation 2 - arc - draw arc
实验七 常用类的使用
Poker game program - man machine confrontation
Mixlab unbounded community white paper officially released
canvas基础1 - 画直线(通俗易懂)
Strengthen basic learning records
7-14 错误票据(PTA程序设计)
7-4 散列表查找(PTA程序设计)
[MySQL table structure and integrity constraint modification (Alter)]
深度强化文献阅读系列(一):Courier routing and assignment for food delivery service using reinforcement learning
实验四 数组
MySQL事务及实现原理全面总结,再也不用担心面试