[英]c++ problem with solving mathematic formula
我很難解決這個數學公式,但我不知道我在哪里犯了錯誤。 歡迎小提示。
using namespace std;
double sum, quo;
int n, i;
sum = 0;
quo = 1;
for (n = 1; n <= 5; n++) {
sum = sum + quo;
}
for (i = 1; i <= 6; i++) {
quo = quo * (n + i);
}
sum = sum + quo;
cout << (sum);}
答案應該是 569520,但在我的代碼中是 665285
正如@Yksisarvinen 所說,
暗示
乘法是公式中的求和。
提示 2
您可以在彼此內部使用 2 個 for 循環
停在這里,自己嘗試一下,然后回來查看答案。
答案 :
#include <iostream>
#include <windows.h>
using namespace std;
int main() {
int sum, quo;
int n, i;
sum = 0;
quo = 1;
for (n = 1; n <= 5; n++) {
for (i = 1; i <= 6; i++) {
quo *= (n + i);
}
sum+=quo;
quo =1;
}
cout << (sum);
}
我已經有一段時間沒有做這種數學了,但我認為你的嵌套是不正確的。
我認為公式的意思是:
((1 + 1) * (1 + 2) * (1 + 3) ...)
+
((2 + 1) * (2 + 2) * (2 + 3) ...)
+
...
但是,您求和循環僅適用於 i=1。 我認為這只是一個錯誤放置的支架。
for (n = 1; n <= 5; n++) {
//The n loop should encompass the whole of the i loop
//And you should only update sum at the end
double quo = 1;
for (i = 1; i <= 6; i++) {
quo = quo * (n + i);
}
sum = sum + quo;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.