炫耀手机
作者:互联网
炫耀手机
题目描述
小F终于买到了心仪的手机,当然是华为的新款啦。小F有5个好朋友,她把新买的手机拿给朋友们看。手机就在她
们手中传递了。小F先把手机给某个朋友,每个朋友欣赏完手机后就把手机传给另外一个人欣赏。当然已经看过手
机的人还可以继续接过来欣赏。结果经过n次传递后,手机又回到小F手中(中间过程手机也可能回到过小F手
中)。你能知道传递的过程中有多少种传递方式吗?
输入
多组测试数据,每组输入一个整数n(1<=n<=20)
输出
输出传递的种数
样例输入
2
样例输出
5
题解:
这道题实在是easy, 除非你承认“你**就是一个弟弟!”搞暴力枚举。公式题,没啥可说的。
源代码:(公式题)
#include<bits/stdc++.h>
using namespace std;
int main() {
long long n,a[11000],i;
while(cin>>n) {
a[1]=0;
a[2]=5;
for(i=3; i<=n; i++) a[i]=5*a[i-2]+4*a[i-1];
cout<<a[n]<<endl;
}
return 0;
}
源代码:(暴力枚举,我承认我就是个弟弟,因为我有一个亲姐姐)
#include<bits/stdc++.h>
using namespace std;
int main() {
long long n;
while(cin>>n) {
if(n==1) cout<<0<<endl;
if(n==2) cout<<5<<endl;
if(n==3) cout<<20<<endl;
if(n==4) cout<<105<<endl;
if(n==5) cout<<520<<endl;
if(n==6) cout<<2605<<endl;
if(n==7) cout<<13020<<endl;
if(n==8) cout<<65105<<endl;
if(n==9) cout<<325520<<endl;
if(n==10) cout<<1627605<<endl;
if(n==11) cout<<8138020<<endl;
if(n==12) cout<<40690105<<endl;
if(n==13) cout<<203450520<<endl;
if(n==14) cout<<1017252605<<endl;
if(n==15) cout<<5086263020<<endl;
if(n==16) cout<<25431315105<<endl;
if(n==17) cout<<127156575520<<endl;
if(n==18) cout<<635782877605<<endl;
if(n==19) cout<<3178914388020<<endl;
if(n==20) cout<<15894571940105<<endl;
}
return 0;
}
AC
Malcolm·maler 发布了66 篇原创文章 · 获赞 68 · 访问量 1万+ 私信 关注标签:炫耀,int,namespace,long,传递,手机,源代码 来源: https://blog.csdn.net/m0_45682806/article/details/104591572