当前位置:网站首页>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 !
边栏推荐
- FAQs and answers to the imitation Niuke technology blog project (III)
- MySQL事务及实现原理全面总结,再也不用担心面试
- 实验七 常用类的使用(修正帖)
- The difference between cookies and sessions
- . Net6: develop modern 3D industrial software based on WPF (2)
- (原创)制作一个采用 LCD1602 显示的电子钟,在 LCD 上显示当前的时间。显示格式为“时时:分分:秒秒”。设有 4 个功能键k1~k4,功能如下:(1)k1——进入时间修改。
- MySQL lock summary (comprehensive and concise + graphic explanation)
- Thoroughly understand LRU algorithm - explain 146 questions in detail and eliminate LRU cache in redis
- [the Nine Yang Manual] 2017 Fudan University Applied Statistics real problem + analysis
- Using spacedesk to realize any device in the LAN as a computer expansion screen
猜你喜欢
Renforcer les dossiers de base de l'apprentissage
.Xmind文件如何上传金山文档共享在线编辑?
Nuxtjs快速上手(Nuxt2)
Difference and understanding between detected and non detected anomalies
透彻理解LRU算法——详解力扣146题及Redis中LRU缓存淘汰
1143_ SiCp learning notes_ Tree recursion
记一次猫舍由外到内的渗透撞库操作提取-flag
QT meta object qmetaobject indexofslot and other functions to obtain class methods attention
A comprehensive summary of MySQL transactions and implementation principles, and no longer have to worry about interviews
It's never too late to start. The tramp transformation programmer has an annual salary of more than 700000 yuan
随机推荐
Miscellaneous talk on May 14
[面试时]——我如何讲清楚TCP实现可靠传输的机制
一段用蜂鸣器编的音乐(成都)
Force deduction 152 question multiplier maximum subarray
[hand tearing code] single case mode and producer / consumer mode
实验九 输入输出流(节选)
Experiment 7 use of common classes
Difference and understanding between detected and non detected anomalies
Experiment 4 array
[the Nine Yang Manual] 2021 Fudan University Applied Statistics real problem + analysis
强化学习系列(一):基本原理和概念
Beautified table style
【educoder数据库实验 索引】
A comprehensive summary of MySQL transactions and implementation principles, and no longer have to worry about interviews
[insert, modify and delete data in the headsong educator data table]
记一次猫舍由外到内的渗透撞库操作提取-flag
[three paradigms of database] you can understand it at a glance
MySQL锁总结(全面简洁 + 图文详解)
Principles, advantages and disadvantages of two persistence mechanisms RDB and AOF of redis
TypeScript快速入门