Write a program that calculates sum of the integers numbers

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?

Réponses (5)

Florin Neacsu
Florin Neacsu le 11 Avr 2011

2 votes

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 le 11 Avr 2011
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 commentaires

You might need some bubble wrap for that.
I hate when it takes more time to understand what people want than to make their answer!

Connectez-vous pour commenter.

v=2:30;
sum(v(~mod(v,2)))

3 commentaires

Hi Paulo, this works fine but what is operator ~ doing here? Its hard to understand what exactly is happening after ~. I am new to coding.
mod(v, 2) will be either 0 or 1. The tilde inverts that, so 0 becomes 1, and 1 becomes 0.
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.

Connectez-vous pour commenter.

or
sum(2:2:30)

2 commentaires

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.
btw that does work and is a good answer for the question (only if the values don't change), +1 vote

Connectez-vous pour commenter.

disp(240)
Or, for pedants who claim that evaluation is not the same as calculation,
disp(239+1)

1 commentaire

This is definitely the most compact and efficient way to do this. +1.

Connectez-vous pour commenter.

Catégories

Produits

Tags

Commenté :

DGM
le 4 Mar 2023

Community Treasure Hunt

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

Start Hunting!

Translated by