如何解决改错循环中斐波那契数列的难题?
- 内容介绍
- 文章标签
- 相关推荐
本文共计407个文字,预计阅读时间需要2分钟。
pythonclass Fibonacci: def __init__(self): self.numbers=[0, 1]
def get_next(self): next_number=self.numbers[-1] + self.numbers[-2] self.numbers.append(next_number) return next_number
def get_first_20(self): for _ in range(18): self.get_next() return self.numbers[:20]
创建Fibonacci对象fib=Fibonacci()
获取前20项并输出first_20_fib=fib.get_first_20()print(*[num // 1 for num in first_20_fib]) # 输出整数值部分
一、题目
输出Fabonacci数列的前20项 ,要求变量类型定义成浮点型,输出时只输出整数部分。以下程序只允许修改两行。
#include "stdio.h"
int main()
{
int i;
float f1=1,f2=1,f3;
for(i=1;i<=20;i++)
{
f3=f1+f2;
f2=f1;
f3=f2;
printf("%f",f1);
}
printf("\n");
return 0;
}
二、分析
1、初步分析
根据题意,只输出整数部分,则肯定要修改打印语句。
根据流程,先求f3,然后更新f1和f2,因此,第9行和第10行应该都有错误。
综上,则需要修改3行。
本文共计407个文字,预计阅读时间需要2分钟。
pythonclass Fibonacci: def __init__(self): self.numbers=[0, 1]
def get_next(self): next_number=self.numbers[-1] + self.numbers[-2] self.numbers.append(next_number) return next_number
def get_first_20(self): for _ in range(18): self.get_next() return self.numbers[:20]
创建Fibonacci对象fib=Fibonacci()
获取前20项并输出first_20_fib=fib.get_first_20()print(*[num // 1 for num in first_20_fib]) # 输出整数值部分
一、题目
输出Fabonacci数列的前20项 ,要求变量类型定义成浮点型,输出时只输出整数部分。以下程序只允许修改两行。
#include "stdio.h"
int main()
{
int i;
float f1=1,f2=1,f3;
for(i=1;i<=20;i++)
{
f3=f1+f2;
f2=f1;
f3=f2;
printf("%f",f1);
}
printf("\n");
return 0;
}
二、分析
1、初步分析
根据题意,只输出整数部分,则肯定要修改打印语句。
根据流程,先求f3,然后更新f1和f2,因此,第9行和第10行应该都有错误。
综上,则需要修改3行。

