Results 1 to 12 of 12
Thread: Need help with loop
- 08-09-2012, 10:18 AM #1
Member
- Join Date
- Aug 2012
- Posts
- 5
- Rep Power
- 0
- 08-09-2012, 10:31 AM #2
- Join Date
- Sep 2008
- Location
- Voorschoten, the Netherlands
- Posts
- 11,603
- Blog Entries
- 7
- Rep Power
- 17
Re: Need help with loop
If a number 'A' is the sum of the first 'n' numbers then n == (Math.sqrt(1+8*A)-1)/2. Do your math.
kind regards,
JossWhen people rob a bank they get a penalty; when banks rob people they get a bonus.
- 08-09-2012, 10:53 AM #3
Member
- Join Date
- Aug 2012
- Posts
- 5
- Rep Power
- 0
Re: Need help with loop
Thanks for the formula, it kinda takes me a while to wrap my head around the math. I tried implementing it in, but it doesn't recognise that 4 isn't an exact sum for an example. When you input 4, the (k == 0) part should take over, instead it returns 1 to 2. :/ Did I not put it in properly?
Last edited by thegreatzo; 08-09-2012 at 01:30 PM.
- 08-09-2012, 11:08 AM #4
Moderator
- Join Date
- Apr 2009
- Posts
- 10,484
- Rep Power
- 16
Re: Need help with loop
Um, you cannot get 4 from adding numbers from 1 consecutively.
1+2 = 3
1+2+3 = 6Please do not ask for code as refusal often offends.
- 08-09-2012, 11:23 AM #5
Member
- Join Date
- Aug 2012
- Posts
- 5
- Rep Power
- 0
Re: Need help with loop
Yes I know that, but the problem is the program is not recognising that. It's supposed to work out that if you can't get the sum of n by adding numbers from 1 consecutively then it returns 0 and the message "the number n is not an exact sum". How can I get it to do that?
Testing it I tried:
Type an integer:
3
The number 3 is the sum of integers from 1 to 2 - this is correct
Type an integer:
4
The number 4 is the sum of integers from 1 to 2 - this is incorrect
Type an integer:
5
The number 5 is the sum of integers from 1 to 2 - this is incorrect
Type an integer:
6
The number 6 is the sum of integers from 1 to 3 - this is correct
- 08-09-2012, 11:30 AM #6
Moderator
- Join Date
- Apr 2009
- Posts
- 10,484
- Rep Power
- 16
Re: Need help with loop
That's because Jos' formula has one important criteria you are not taking into account:
"If a number 'A' is the sum of the first 'n' numbers ..."
You will need to calculate 'n' and then do a sum to check whether it is actually correct.Please do not ask for code as refusal often offends.
- 08-09-2012, 11:38 AM #7
- Join Date
- Sep 2008
- Location
- Voorschoten, the Netherlands
- Posts
- 11,603
- Blog Entries
- 7
- Rep Power
- 17
- 08-09-2012, 12:18 PM #8
Member
- Join Date
- Aug 2012
- Posts
- 5
- Rep Power
- 0
Re: Need help with loop
How do i do that lol?
Do you reckon an if statement for suffice for that?
something like:
If (the sum of k does not equal n) {
k = 0;
}Last edited by thegreatzo; 08-09-2012 at 12:24 PM.
- 08-09-2012, 12:19 PM #9
Moderator
- Join Date
- Apr 2009
- Posts
- 10,484
- Rep Power
- 16
- 08-09-2012, 12:31 PM #10
- Join Date
- Sep 2008
- Location
- Voorschoten, the Netherlands
- Posts
- 11,603
- Blog Entries
- 7
- Rep Power
- 17
Re: Need help with loop
When people rob a bank they get a penalty; when banks rob people they get a bonus.
- 08-09-2012, 08:04 PM #11
- Join Date
- Sep 2008
- Location
- Voorschoten, the Netherlands
- Posts
- 11,603
- Blog Entries
- 7
- Rep Power
- 17
Re: Need help with loop
When people rob a bank they get a penalty; when banks rob people they get a bonus.
- 08-09-2012, 09:51 PM #12
Re: Need help with loop
I had a copy in a cached page, so here it is. Any more removal of relevant content and the member will be banned.
db
Hey there,
I've got a program which I need to test whether an integer n is the exact sum of k consecutive integer numbers starting from 1.
eg. 6 is 1 + 2 + 3 and therefore k = 3 and if I put in 4 then it returns false. But what I've only able to achieve so far is to get the program to add numbers 1 to n together, so if I enter 6 I get 21 because 1 + 2 + 3 + 4 + 5 + 6 = 21, but this isn't what I need the program to do.
I'm kinda stuck, I've tried a few other things but they aren't working. How can I get the loop to increment up to n then return that last number. eg. 6 returns 3 as mentioned above.
Thanks for your help!Java Code:import java.util.Scanner; public class ExactSum { /** * @param args */ public static void main(String[] args) { Scanner keyboard = new Scanner(System.in); System.out.println("Type an integer:"); int n = keyboard.nextInt(); int k = 0; for(int i = 1;i<=n;i++) { k = k + i; } if (k == 0) { System.out.println("The number "+n+" is not an exact sum"); } else {System.out.println("The number "+n+" is the sum of integers from 1 to "+k+" "); } } }Why do they call it rush hour when nothing moves? - Robin Williams
Similar Threads
-
Problem with while loop, assigning a variable with a different value every loop? Help
By JavaProg in forum New To JavaReplies: 2Last Post: 11-07-2011, 02:25 AM -
Is it Possible? Array elements Initialized in Loop, can it be viewed outside loop?
By JPH in forum New To JavaReplies: 1Last Post: 10-01-2011, 02:12 AM -
JTextField loop 2x for-loop WEIRD!
By Streetproject in forum AWT / SwingReplies: 2Last Post: 02-16-2011, 05:46 PM -
How can I rewrite the following while loop using a for loop?
By gt11990 in forum New To JavaReplies: 5Last Post: 04-30-2010, 05:05 PM -
while-loop stopping on first loop
By davester in forum New To JavaReplies: 6Last Post: 06-26-2009, 08:46 PM


2Likes
LinkBack URL
About LinkBacks
Reply With Quote

Bookmarks