gpt4 book ai didi

c - 生成迭代的程序

转载 作者:太空宇宙 更新时间:2023-11-04 08:32:58 25 4
gpt4 key购买 nike

我给自己设定了一个任务来编写这个算法,但是,由于我没有完整的 C 语言经验,我希望可能有更简单的方法。

好的,取 2 个数字, 一个, b

我们将这些相加并添加到序列中,然后添加第二项。

所以我们得到 a , b , a+b , b

对于下一项,我们取第二个和第三个值(在我们做第一个和第二个之前)并再做一次。

所以我们现在得到

a , b , a+b , b , a +2b , a+b 

(续)a+2b、b、a+3b、a+2b、2a+3b、a+b

这一直持续到不需要输入为止。

基本上我的算法是这样的:下一个 a 是前一个 b,下一个 b 是前一个 a + 前一个 b。

但是,我不能使用通用方法在 c 中对此进行编码,因为它将根据给定序列的附加值而不是第 1、2、3 值等来工作。

我在想这可以通过写入文件并逐行扫描第 n 个数字来完成。但是,我想我把这个复杂化了。

有没有办法从这个序列中获取第 n 个值?

输入:a = 1 , b =1 。预期输出:1, 1 ,2 ,1 3, 2 , 3 ,1 ,4 3, 5 , 2

最佳答案

你应该使用数组,这不难,而且比使用文件要好得多。阅读一些文档,您应该能够在 5 分钟内使用它们。

数组只是一系列事物,在您的情况下是整数。您可能可以这样做:

int main () {
int array[MAX];
array[0] = 1;
array[1] = 1;
// Print the starting values:
printf("%d\n%d\n", array[0], array[1]);

// The loop is controlled by i, increased in steps of 2.
// j keeps the sequence of 1,2; 2,3; 3,4... used for the sum
for (int i = 2, j = 0; i < MAX; i+=2, j++) {
array[i] = array[j] + array[j+1];
array[i+1] = array[j+1];
printf("%d\n%d\n", array[i], array[i+1]);
}
return 0;
}

关于c - 生成迭代的程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27443601/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com