当前位置:网站首页>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 !
边栏推荐
- Strengthen basic learning records
- Renforcer les dossiers de base de l'apprentissage
- [graduation season · advanced technology Er] goodbye, my student days
- Differences among fianl, finally, and finalize
- .Xmind文件如何上传金山文档共享在线编辑?
- Strengthen basic learning records
- Using spacedesk to realize any device in the LAN as a computer expansion screen
- [hand tearing code] single case mode and producer / consumer mode
- [insert, modify and delete data in the headsong educator data table]
- C language Getting Started Guide
猜你喜欢

Strengthen basic learning records
![[during the interview] - how can I explain the mechanism of TCP to achieve reliable transmission](/img/d6/109042b77de2f3cfbf866b24e89a45.png)
[during the interview] - how can I explain the mechanism of TCP to achieve reliable transmission

Nuxtjs quick start (nuxt2)

编写程序,模拟现实生活中的交通信号灯。

Poker game program - man machine confrontation

【手撕代码】单例模式及生产者/消费者模式

Mixlab unbounded community white paper officially released

2. First knowledge of C language (2)

1. Preliminary exercises of C language (1)

深度强化文献阅读系列(一):Courier routing and assignment for food delivery service using reinforcement learning
随机推荐
这次,彻底搞清楚MySQL索引
Leetcode.3 无重复字符的最长子串——超过100%的解法
3. Input and output functions (printf, scanf, getchar and putchar)
Intensive literature reading series (I): Courier routing and assignment for food delivery service using reinforcement learning
Renforcer les dossiers de base de l'apprentissage
强化学习基础记录
Wechat applet
MySQL lock summary (comprehensive and concise + graphic explanation)
实验四 数组
Strengthen basic learning records
[the Nine Yang Manual] 2022 Fudan University Applied Statistics real problem + analysis
7-9 制作门牌号3.0(PTA程序设计)
MATLAB打开.m文件乱码解决办法
仿牛客技术博客项目常见问题及解答(一)
The difference between abstract classes and interfaces
Get started with typescript
Custom RPC project - frequently asked questions and explanations (Registration Center)
Difference and understanding between detected and non detected anomalies
实验九 输入输出流(节选)
(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