Write a program that calculates sum of the integers numbers

3 次查看(过去 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?

回答(5 个)

Florin Neacsu
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

Matt Fig
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?

Paulo Silva
Paulo Silva 2011-4-11
v=2:30;
sum(v(~mod(v,2)))
  3 个评论
Image Analyst
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
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
Doug Eastman 2011-4-11
  2 个评论
Paulo Silva
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
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
Matt Tearle 2011-4-11
disp(240)
Or, for pedants who claim that evaluation is not the same as calculation,
disp(239+1)

类别

Help CenterFile Exchange 中查找有关 Logical 的更多信息

标签

产品

Community Treasure Hunt

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

Start Hunting!

Translated by