当前位置:网站首页>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 !
边栏推荐
- TypeScript快速入门
- FAQs and answers to the imitation Niuke technology blog project (III)
- 2022泰迪杯数据挖掘挑战赛C题思路及赛后总结
- [the Nine Yang Manual] 2022 Fudan University Applied Statistics real problem + analysis
- canvas基础1 - 画直线(通俗易懂)
- A piece of music composed by buzzer (Chengdu)
- 使用Spacedesk实现局域网内任意设备作为电脑拓展屏
- QT meta object qmetaobject indexofslot and other functions to obtain class methods attention
- 实验六 继承和多态
- 【黑马早报】上海市监局回应钟薛高烧不化;麦趣尔承认两批次纯牛奶不合格;微信内测一个手机可注册俩号;度小满回应存款变理财产品...
猜你喜欢

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

SRC mining ideas and methods

About the parental delegation mechanism and the process of class loading

. Net6: develop modern 3D industrial software based on WPF (2)

Yugu p1012 spelling +p1019 word Solitaire (string)

FAQs and answers to the imitation Niuke technology blog project (II)
![[面試時]——我如何講清楚TCP實現可靠傳輸的機制](/img/d6/109042b77de2f3cfbf866b24e89a45.png)
[面試時]——我如何講清楚TCP實現可靠傳輸的機制

It's never too late to start. The tramp transformation programmer has an annual salary of more than 700000 yuan

Package bedding of components

优先队列PriorityQueue (大根堆/小根堆/TopK问题)
随机推荐
强化学习系列(一):基本原理和概念
[the Nine Yang Manual] 2017 Fudan University Applied Statistics real problem + analysis
[面试时]——我如何讲清楚TCP实现可靠传输的机制
Using spacedesk to realize any device in the LAN as a computer expansion screen
[MySQL database learning]
1. First knowledge of C language (1)
1143_ SiCp learning notes_ Tree recursion
[during the interview] - how can I explain the mechanism of TCP to achieve reliable transmission
实验六 继承和多态
FAQs and answers to the imitation Niuke technology blog project (II)
Have you encountered ABA problems? Let's talk about the following in detail, how to avoid ABA problems
Difference and understanding between detected and non detected anomalies
Experiment 6 inheritance and polymorphism
简单理解ES6的Promise
7-3 construction hash table (PTA program design)
Read only error handling
【MySQL数据库的学习】
The difference between cookies and sessions
Implementation principle of automatic capacity expansion mechanism of ArrayList
JS several ways to judge whether an object is an array