Write a program that calculates sum of the integers numbers
8 ビュー (過去 30 日間)
古いコメントを表示
What is the product if the question is write a program that calculates and prints the sum of the even integers from 2 to 30?
0 件のコメント
回答 (5 件)
Florin Neacsu
2011 年 4 月 11 日
2+4+6+...+30=2(1+2+3+...+15)=2*(15*16)/2=15*16
So 2+4+...+n = floor(n/2)*(floor(n/2)+1).
Regards, Florin
0 件のコメント
Matt Fig
2011 年 4 月 11 日
The product would be the sum of the even integers from 2 to 30 ;-).
Seriously, what have you tried so far on this homework problem?
2 件のコメント
Paulo Silva
2011 年 4 月 11 日
I hate when it takes more time to understand what people want than to make their answer!
Paulo Silva
2011 年 4 月 11 日
v=2:30;
sum(v(~mod(v,2)))
3 件のコメント
Image Analyst
2017 年 8 月 15 日
mod(v, 2) will be either 0 or 1. The tilde inverts that, so 0 becomes 1, and 1 becomes 0.
DGM
2023 年 3 月 4 日
Importantly, using ~ implicitly casts the numeric result from mod() to logical (along with doing the inversion). Otherwise, the indexing operation would fail if the indices were numeric 0 and 1, as you'd be trying to access the zeroth element of v.
Doug Eastman
2011 年 4 月 11 日
or
sum(2:2:30)
2 件のコメント
Paulo Silva
2011 年 4 月 11 日
that's simple but if you change the start value from 2 to 1 you do the sum of odd numbers instead, also if the last value is 31 or some odd number the result won't be correct, unfortunately that's not very flexible code.
Paulo Silva
2011 年 4 月 11 日
btw that does work and is a good answer for the question (only if the values don't change), +1 vote
Matt Tearle
2011 年 4 月 11 日
disp(240)
Or, for pedants who claim that evaluation is not the same as calculation,
disp(239+1)
1 件のコメント
Sean de Wolski
2011 年 4 月 11 日
This is definitely the most compact and efficient way to do this. +1.
参考
カテゴリ
Help Center および File Exchange で Matrix Indexing についてさらに検索
製品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!