C++ 我的问题是关于C++;如何打印它们?
下表应使用for循环打印C++ 我的问题是关于C++;如何打印它们?,c++,loops,for-loop,math,recurrence,C++,Loops,For Loop,Math,Recurrence,下表应使用for循环打印 Y[n] = 1/2*(Y[n-1]) + 1/3*(Y[n-2]) Y[1] = 0.5, Y[2] = 0.4 我所要做的就是打印上表。你把顺序写错了 你有: Yn=1/2*(Yn-1)+1/3*(Yn-2) 但它应该是: Yn=1/2*(Yn-1)+1/3*(Yn-2) 因此,您需要跟踪序列中的前两个数字以计算下一个: N -- Yn 1 -- 0.5 2 -- 0.4 3 -- 0.366667 4 -- 0.316667 5 -- 0
Y[n] = 1/2*(Y[n-1]) + 1/3*(Y[n-2])
Y[1] = 0.5, Y[2] = 0.4
我所要做的就是打印上表。你把顺序写错了 你有: Yn=1/2*(Yn-1)+1/3*(Yn-2) 但它应该是: Yn=1/2*(Yn-1)+1/3*(Yn-2) 因此,您需要跟踪序列中的前两个数字以计算下一个:
N -- Yn
1 -- 0.5
2 -- 0.4
3 -- 0.366667
4 -- 0.316667
5 -- 0.280556
你把顺序写错了 你有: Yn=1/2*(Yn-1)+1/3*(Yn-2) 但它应该是: Yn=1/2*(Yn-1)+1/3*(Yn-2) 因此,您需要跟踪序列中的前两个数字以计算下一个:
N -- Yn
1 -- 0.5
2 -- 0.4
3 -- 0.366667
4 -- 0.316667
5 -- 0.280556
欢迎访问stackoverflow.com。请花些时间阅读,特别是命名和。也请和。最后请阅读。你的问题到底是什么?此外,在每个循环迭代中使用自身重新定义
double Yn
(即,为每个循环迭代创建新的Yn,而不基于以前的值重新输入)。似乎应该首先在循环外声明。使用表格和等式编辑问题。如果不确定,请检查我的编辑并回滚。我不知道如何写下标,但我知道它的错误/混乱程度并没有以前低,但表仍然不匹配。欢迎访问stackoverflow.com。请花些时间阅读,特别是命名和。也请和。最后请阅读。你的问题到底是什么?此外,在每个循环迭代中使用自身重新定义double Yn
(即,为每个循环迭代创建新的Yn,而不基于以前的值重新输入)。似乎应该首先在循环外声明。使用表格和等式编辑问题。如果不确定,请检查我的编辑并回滚。我不知道如何写下标,但我知道它的错误/混乱程度并没有以前低,但表仍然不匹配。double Y[N]代码>也可能有意义。在给定方程附近使用符号。Y_prev2=Y_prev1;Y_prev1=Y你能告诉我这是干什么用的吗?要计算序列中的每个数字,你需要前面两个数字。在循环的每次迭代之后,您需要更新最后两个数字。这两条语句就是这样做的。@user83869所以在每次迭代结束时,Y
变成Y\u prev1
,Y\u prev1
变成Y\u prev2
double Y[N]代码>也可能有意义。在给定方程附近使用符号。Y_prev2=Y_prev1;Y_prev1=Y你能告诉我这是干什么用的吗?要计算序列中的每个数字,你需要前面两个数字。在循环的每次迭代之后,您需要更新最后两个数字。这两条语句就是这样做的。@user83869因此在每次迭代结束时,Y
变成Y\u prev1
,而Y\u prev1
变成Y\u prev2
。
int i=1;
const int N = 5;
double Y_prev1 = 0.4;
double Y_prev2 = 0.5;
std::cout << i++ << " " << "= "<< " " << Y_prev2 << std::endl;
std::cout << i++ << " " << "= "<< " " << Y_prev1 << std::endl;
for (; i <= N; i++){
double Y = (1.0 / 2) * (Y_prev1) + (1.0 / 3) * (Y_prev2);
std::cout << i << " " << "= "<< " " << Y;
std::cout << std::endl;
Y_prev2 = Y_prev1;
Y_prev1 = Y;
}
1 = 0.5
2 = 0.4
3 = 0.366667
4 = 0.316667
5 = 0.280556