Sam Benry

Ranch Hand

Posts: 89

posted 9 years ago

Your problem is this...

This ...

is more like... "Work out the sum of the ASCII values of all digits of the following one-hundred 50-digit numbers".

The problem never asked you to sum up the digits, it just asked you to ignore any digit higher than the 10th digit in the sum of the numbers. You also did a staight convert from char to num, which is the ASCII value, not the digit value (not that it matters as you weren't supposed to sum the digits anyway).

Henry

[ March 23, 2008: Message edited by: Henry Wong ]

Work out the first ten digits of the sum of the following one-hundred 50-digit numbers.

This ...

is more like... "Work out the sum of the ASCII values of all digits of the following one-hundred 50-digit numbers".

The problem never asked you to sum up the digits, it just asked you to ignore any digit higher than the 10th digit in the sum of the numbers. You also did a staight convert from char to num, which is the ASCII value, not the digit value (not that it matters as you weren't supposed to sum the digits anyway).

Henry

[ March 23, 2008: Message edited by: Henry Wong ]

Sam Benry

Ranch Hand

Posts: 89

posted 9 years ago

I still did not get it

the problem, as I understand, wants the sum of the following one-hundred 50-digit numbers

but since the number is huge, the first ten digits are enough to prove a person solved the problem...

isn't this the problem?

if not, can you explain it more?

if I should not sum the digits up, then what should I do?

so I find the sum, and show the first ten digits then?

and this maybe better to solve the other problem

[ March 23, 2008: Message edited by: Sam Benry ]

the problem, as I understand, wants the sum of the following one-hundred 50-digit numbers

but since the number is huge, the first ten digits are enough to prove a person solved the problem...

isn't this the problem?

if not, can you explain it more?

if I should not sum the digits up, then what should I do?

it just asked you to ignore any digit higher than the 10th digit in the sum of the numbers.

so I find the sum, and show the first ten digits then?

and this maybe better to solve the other problem

[ March 23, 2008: Message edited by: Sam Benry ]

posted 9 years ago

Yup, you described it perfectly here.

How did you go from "sum of the numbers" to "sum of the digits"?

For example, lets use 3 numbers instead of 100. Let's use 4 digits numbers instead of 50 digits. And lets look at the first 2 digits instead of 10.

The numbers are...

1234

1001

4532

The sum is 1234 + 1001 + 4532 = 6767. And the first 2 digits are 67.

What you did is... 1 + 2 + 3 + 4 + 1 + 0 + 0 + 1 + 4 + 5 + 3 + 2 = 26. How is this even close?

Henry

[ March 23, 2008: Message edited by: Henry Wong ]

I still did not get it

the problem, as I understand, wants the sum of the following one-hundred 50-digit numbers

but since the number is huge, the first ten digits are enough to prove a person solved the problem...

isn't this the problem?

Yup, you described it perfectly here.

if I should not sum the digits up, then what should I do?

How did you go from "sum of the numbers" to "sum of the digits"?

For example, lets use 3 numbers instead of 100. Let's use 4 digits numbers instead of 50 digits. And lets look at the first 2 digits instead of 10.

The numbers are...

1234

1001

4532

The sum is 1234 + 1001 + 4532 = 6767. And the first 2 digits are 67.

What you did is... 1 + 2 + 3 + 4 + 1 + 0 + 0 + 1 + 4 + 5 + 3 + 2 = 26. How is this even close?

Henry

[ March 23, 2008: Message edited by: Henry Wong ]

Sam Benry

Ranch Hand

Posts: 89

posted 9 years ago

You can omit the entire "add the int to an empty string" construction by using the String.valueOf methods. It's just a bit more efficient, gives the exact same results and also (IMHO) looks better.

If you are 100% sure these characters are all numbers, you can use the following code as well:

Originally posted by Sam Benry:

You can omit the entire "add the int to an empty string" construction by using the String.valueOf methods. It's just a bit more efficient, gives the exact same results and also (IMHO) looks better.

If you are 100% sure these characters are all numbers, you can use the following code as well:

SCJP 1.4 - SCJP 6 - SCWCD 5 - OCEEJBD 6 - OCEJPAD 6

How To Ask Questions How To Answer Questions

Jesus Obed Murillo Hernandez

Greenhorn

Posts: 3

posted 8 years ago

Sam,

It's generally considered polite to name the source of your question. In this case, you are talking about problem #13 of Project Euler, a fantastic place to get little 'puzzlers' to learn a new computing language.

In the future, please let everyone know where these problems come from.

Thanks

It's generally considered polite to name the source of your question. In this case, you are talking about problem #13 of Project Euler, a fantastic place to get little 'puzzlers' to learn a new computing language.

In the future, please let everyone know where these problems come from.

Thanks

There are only two hard things in computer science: cache invalidation, naming things, and off-by-one errors

Campbell Ritchie

Sheriff

Posts: 55351

157

posted 8 years ago

Welcome to JavaRanch, Jesus

We don't like to give out answers like that; please show us what you have already. And it might have been better to start a new thread; look at this deradfully-named FAQ!

Fred, I always get into disagreements about this, but there is nothing "little" about Project Euler tasks. They may take only a few lines to write, but as Sam Benry has demonstrated, they are *@*#$~ difficult!

We don't like to give out answers like that; please show us what you have already. And it might have been better to start a new thread; look at this deradfully-named FAQ!

Fred, I always get into disagreements about this, but there is nothing "little" about Project Euler tasks. They may take only a few lines to write, but as Sam Benry has demonstrated, they are *@*#$~ difficult!

Consider Paul's rocket mass heater. |