sulli1
01-23-2006, 04:17 PM
Hi all,
I am new to Javascript programming and this is also my first post on a forum so I hope I am using the right etiquette here!
Please could somebody offer me some advice on how to sum the numbers from one to ?? as part of a 'for' loop? What I need for example is a program that adds the collective numbers 1+2+3+4+5 (etc) and outputs the total of 15. I have attached the file as I have written it so far.
Thanks in advance for any help offered.
BaldEagle
01-23-2006, 05:09 PM
Another way to do this is to use the formula:
(maxvar * (maxvar+1))/2
This will only work if the lowest number = 1.
If maxvar is 5 then:
(5 * 6) / 2 = 15
You can try with any number you want. It works.
BaldEagle
BaldEagle
01-23-2006, 05:15 PM
/* testing a for loop1 */
var maxvar;
var tempvar;
var theSum = tempvar + maxvar
var maxvar = window.prompt('Enter value');
for (tmpvar = 1; tmpvar <= maxvar; tmpvar++) {
document.write('The number is ' + tmpvar + '<br>');
}
window.alert('The sum of the numbers from 1 to ' + maxvar + ' is ' + theSum);
If your requirement is to use a loop then change it like this:
var maxvar;
var tempvar;
var theSum = 0;
var maxvar = window.prompt('Enter value');
for (tmpvar = 1; tmpvar <= maxvar; tmpvar++) {
theSum += tempvar;
// you don't really need this as a large number would write
// a lot of numbers to the screen
document.write('The number is ' + tmpvar + '<br>');
}
window.alert('The sum of the numbers from 1 to ' + maxvar + ' is ' + theSum);
BaldEagle
sulli1
01-23-2006, 05:32 PM
Hi BaldEagle,
Thank you for replying to this query, I really appreciate it. I do need to write it as a 'for' loop as you have shown in your replacement code for me, although I have run the program again with the new code and I am still getting the message 'the sum of 1 to 5 is NaN', is it something to do with the way sum has been valued?
BaldEagle
01-23-2006, 05:48 PM
/* testing a for loop1 */
var maxvar;
var tempvar;
var theSum = tempvar + maxvar
var maxvar = window.prompt('Enter value');
for (tmpvar = 1; tmpvar <= maxvar; tmpvar++) {
document.write('The number is ' + tmpvar + '<br>');
}
window.alert('The sum of the numbers from 1 to ' + maxvar + ' is ' + theSum);
If your requirement is to use a loop then change it like this:
var maxvar;
var tempvar;
var theSum = 0;
var maxvar = window.prompt('Enter value');
for (tmpvar = 1; tmpvar <= maxvar; tmpvar++) {
theSum += tempvar;
// you don't really need this as a large number would write
// a lot of numbers to the screen
document.write('The number is ' + tmpvar + '<br>');
}
window.alert('The sum of the numbers from 1 to ' + maxvar + ' is ' + theSum);
BaldEagle
My mistake.
var maxvar;
var theSum = 0;
var maxvar = window.prompt('Enter value');
for (tmpvar = 1; tmpvar <= maxvar; tmpvar++) {
theSum += tmpvar;
// you don't really need this as a large number would write
// a lot of numbers to the screen
document.write('The number is ' + tmpvar + '<br>');
}
window.alert('The sum of the numbers from 1 to ' + maxvar + ' is ' + theSum);
Try that.
BaldEagle
sulli1
01-23-2006, 06:34 PM
Hi BaldEagle,
Thank you very much indeed for your help with this today, the program as it is now written is exactly what I was after. I very much appreciate this.
Thanks again
:thumbsup: