标签:return 数列 int ll 波拉 long 九韶杯 include
题目描述
小明最近痴迷于斐波那契数列(1,1,2,3,5……),但是最近他又有了新的奇思妙想,就是对于斐波那契数列的相邻的两个数相乘取倒数然后将每一项进行相加,由于小明只喜欢思考不喜欢动手,所以现在他想让你帮他算下这样一个新的数列的前13项的和为多少?(结果用分数表示,且保留最简分数)输入描述:
无
输出描述:
无
备注:
例如前三项:1/(1*1)+1/(1*2)+1/(2*3)=5/3
解析;
#include<iostream> #include<cstdio> #include<algorithm> using namespace std; typedef long long ll; const int N=31; ll f[N]; ll fm[N],fz[N]; //求最大公约数函数 int gcd(ll a,ll b) { if(b==0) return a; else return gcd(b,a%b); } int main() { f[1]=1; f[2]=1; //求斐波拉契数列 for(int i=3;i<16;i++) { f[i]=f[i-1]+f[i-2]; } //求新生成数列的分母 for(int i=1;i<=13;i++) { fz[i]=1; fm[i]=f[i]*f[i+1]; } //a为分母,b为分子 ll a=1,b=0; //求分母 for(int i=1;i<=14;i++) { a*=f[i]; } //求分子 for(int i=1;i<=13;i++) { b+=a/fm[i]; } ll d=gcd(a,b); a/=d; b/=d; cout<<b<<"/"<<a; return 0; }
标签:return,数列,int,ll,波拉,long,九韶杯,include 来源: https://www.cnblogs.com/chen-kaige/p/14645218.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。