当前位置:网站首页>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 !
边栏推荐
- 【数据库 三大范式】一看就懂
- 【头歌educoder数据表中数据的插入、修改和删除】
- Write a program to simulate the traffic lights in real life.
- Mixlab unbounded community white paper officially released
- Intensive literature reading series (I): Courier routing and assignment for food delivery service using reinforcement learning
- [insert, modify and delete data in the headsong educator data table]
- 渗透测试学习与实战阶段分析
- [hand tearing code] single case mode and producer / consumer mode
- [graduation season · advanced technology Er] goodbye, my student days
- Strengthen basic learning records
猜你喜欢

Have you encountered ABA problems? Let's talk about the following in detail, how to avoid ABA problems

MySQL lock summary (comprehensive and concise + graphic explanation)
![[dark horse morning post] Shanghai Municipal Bureau of supervision responded that Zhong Xue had a high fever and did not melt; Michael admitted that two batches of pure milk were unqualified; Wechat i](/img/d7/4671b5a74317a8f87ffd36be2b34e1.jpg)
[dark horse morning post] Shanghai Municipal Bureau of supervision responded that Zhong Xue had a high fever and did not melt; Michael admitted that two batches of pure milk were unqualified; Wechat i

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

FAQs and answers to the imitation Niuke technology blog project (III)

Safe driving skills on ice and snow roads

C language Getting Started Guide

C language Getting Started Guide

Differences among fianl, finally, and finalize

强化学习基础记录
随机推荐
Read only error handling
Nuxtjs quick start (nuxt2)
Differences among fianl, finally, and finalize
[modern Chinese history] Chapter 6 test
简述xhr -xhr的基本使用
[the Nine Yang Manual] 2017 Fudan University Applied Statistics real problem + analysis
抽象类和接口的区别
Why use redis
【VMware异常问题】问题分析&解决办法
It's never too late to start. The tramp transformation programmer has an annual salary of more than 700000 yuan
String ABC = new string ("ABC"), how many objects are created
Experiment 7 use of common classes (correction post)
This time, thoroughly understand the MySQL index
JS several ways to judge whether an object is an array
Miscellaneous talk on May 14
Package bedding of components
Poker game program - man machine confrontation
Zatan 0516
[MySQL database learning]
Strengthen basic learning records