有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13…求出这个数列的前20项之和。
一个简单的逻辑题
分析:求这个分数序列前20项之和,分数序列的后一个的分子是前前一个数的分子和分母之和,分母是前一个数的分子。
int a=2;
int b=1;
int sum=0;
先定义三个数初始值a=2,b=1,sum求和。
for(int i=1;i<=20;i++) {
}
再写一个循环20次的for循环
for(int i=1;i<=20;i++) {
sum=sum+(a/b);
}
写出运算的公式。分数序列的后一个的分子是前前一个数的分子和分母之和,分母是前一个数的分子。
int c=0;
for(int i=1;i<=20;i++) {
sum=sum+(a/b);
c=b;
b=a;
a=a+c;
}
设置一个变量c用来交换,在进行一次运算后用c记录b现在的数,然后根据分母是前一个数的分子用b=a来计算下一个数的分母再根据分数序列的后一个的分子是前前一个数的分子和分母之和用a+c来计算下一个数的分子。由于类型都是整数类型所以最后结果是21.
本篇博客仅是个人观点,仅供新手参考学习。如有不对望指出本人及时更改。