c - 如何在 C 中纠正这个斐波那契数列程序中的错误?
问题描述
#include<stdio.h>
int main() {
int sum;
int n,num1,num2;
printf("Enter a number:");
scanf_s("%d", &n);
if (n >= 1)
num1 = 1;
if (n >= 2) {
num2 = 1;
sum = num1 + num2;
printf("%d\n", sum);
}
int say = 2;
while (say <= 10) {
if (n >= 3) {
sum = sum + n;
printf("%d\n", sum);
n++;
say++;
}
if (say== 10)
break;
}
}
在输入 10 的输入数字时,我找不到错误程序像这样工作
2
12
23
35
48
62
77
93
110
解决方案
这看起来有点像,但不像创建斐波那契数列的代码。看看这个实现。
#include <stdio.h>
unsigned long long a = 0;
unsigned long long b = 1;
for(int i = 0;i < 50; i++){
unsigned long long old_b = b;
b += a;
a = old_b;
printf("%llu\n", b);
}
斐波那契数列只是简单地将前一个值连续添加到当前值。所以你只需要跟踪以前的值。
推荐阅读
- python-3.x - 将基于python的for循环的输出保存到单独的文本文件中
- asp.net-mvc - 有没有办法将 ASP MVC 5 应用程序配置为使用语义 UI 而不是引导程序?
- powershell - 如何找出用户对特定文件夹的权限?
- nix - nix 复制带有覆盖定义的 nixpkgs
- ignite - 为什么 Query_parallelism 会影响两个 UUID 列之间的连接结果
- sql-server - 良好实践问题:使用 DAX 与在数据库中做所有事情
- python - 如何创建一个滚动条来动态更改 Canvas 内的小部件内容?tkinter
- r - 将/lapply 函数应用于矩阵中的所有列
- sql - ORACLE 的 TOAD:SQL 限制给出错误“预期 EOF 或 FETCH FOR OFFSET”
- laravel - laravel 8 提交以下数据将已提交到服务器