当前位置:网站首页>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 !
边栏推荐
- 强化学习基础记录
- Package bedding of components
- 撲克牌遊戲程序——人機對抗
- 7-3 构造散列表(PTA程序设计)
- Attach the simplified sample database to the SQLSERVER database instance
- MySQL lock summary (comprehensive and concise + graphic explanation)
- .Xmind文件如何上传金山文档共享在线编辑?
- [the Nine Yang Manual] 2021 Fudan University Applied Statistics real problem + analysis
- 【educoder数据库实验 索引】
- 5月27日杂谈
猜你喜欢

强化学习基础记录

Canvas foundation 2 - arc - draw arc

Experiment 6 inheritance and polymorphism

甲、乙机之间采用方式 1 双向串行通信,具体要求如下: (1)甲机的 k1 按键可通过串行口控制乙机的 LEDI 点亮、LED2 灭,甲机的 k2 按键控制 乙机的 LED1

实验六 继承和多态

仿牛客技术博客项目常见问题及解答(三)

Difference and understanding between detected and non detected anomalies

MySQL事务及实现原理全面总结,再也不用担心面试

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

About the parental delegation mechanism and the process of class loading
随机推荐
Matlab opens M file garbled solution
Redis实现分布式锁原理详解
Custom RPC project - frequently asked questions and explanations (Registration Center)
编写程序,模拟现实生活中的交通信号灯。
自定义RPC项目——常见问题及详解(注册中心)
Implementation principle of automatic capacity expansion mechanism of ArrayList
Miscellaneous talk on May 27
Strengthen basic learning records
Experiment 4 array
Experiment 7 use of common classes (correction post)
FAQs and answers to the imitation Niuke technology blog project (I)
Meituan dynamic thread pool practice ideas, open source
重载和重写的区别
Record a penetration of the cat shed from outside to inside. Library operation extraction flag
Implementation of count (*) in MySQL
canvas基础1 - 画直线(通俗易懂)
MySQL锁总结(全面简洁 + 图文详解)
PriorityQueue (large root heap / small root heap /topk problem)
[the Nine Yang Manual] 2021 Fudan University Applied Statistics real problem + analysis
Strengthen basic learning records