Help me with this question please....

Write a loop to calculate the sum 1*2+2*3+3*4+ ... + 99*100. The answer is 333300
so far I have
total = 0;
for n = 1:100;
total = total + n;
end
fprintf('Total %d\n' , total)

답변 (2개)

John D'Errico
John D'Errico 2017년 12월 11일
편집: John D'Errico 2017년 12월 11일

2 개 추천

Your loop sums only the integers from 1 to n, not the product of consecutive integers. But, hey, you were close, and you made a credible effort.
total = 0;
for n = 1:99
total = total + n*(n+1);
end
fprintf('Total %d\n' , total)
There was actually a second problem with what you wrote. The desired sum will have only 99 terms to sum! So my loop goes only from 1 to 99.
Roger Stafford
Roger Stafford 2017년 12월 11일
편집: Roger Stafford 2017년 12월 11일

0 개 추천

An alternative formula which reduces the amount of computation would be:
n = 99;
total = n*(n+1)*(n+2)/3;
That is true for any positive integer n.

카테고리

도움말 센터File Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기

태그

질문:

2017년 12월 11일

편집:

2017년 12월 11일

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by