NC221031. 走火入魔的小g
描述
输入描述
输入数据仅有一个整数n
输出描述
输出小g走上第n阶的方案数
示例1
输入:
1
输出:
0
说明:
小g无法走到第1阶台阶,因为他只会走两阶或三阶示例2
输入:
5
输出:
2
说明:
小g此时可以通过(0->2->5)或者(0->3->5)走到第5阶C(clang11) 解法, 执行用时: 5ms, 内存消耗: 368K, 提交时间: 2021-04-23 19:18:18
#include<stdio.h> int climb(int n) { if(n==1) return 0; if (n == 2 || n == 3) return 1; else return climb(n - 2) + climb(n - 3); } int main() { int s,t; scanf("%d",&s); t=climb(s); printf("%d",t); }
C++(clang++ 11.0.1) 解法, 执行用时: 3ms, 内存消耗: 396K, 提交时间: 2023-08-09 09:03:41
#include <bits/stdc++.h> using namespace std; int f[53]; int main(){ int n; cin>>n; f[1]=0; f[2]=f[3]=1; for(int i=4;i<=n;i++) f[i]=f[i-2]+f[i-3]; cout<<f[n]; return 0; }
Python3 解法, 执行用时: 40ms, 内存消耗: 4600K, 提交时间: 2022-04-08 08:14:50
n = int(input()) a = [] a.append(0) a.append(1) a.append(1) if n <= 3: print(a[n-1]) else: for i in range(3,n+1): a.append(a[i-2]+a[i-3]) print(a[n-1])