Nieuws:

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: Project Euler Problem 17  (gelezen 1430 keer)

Project Euler Problem 17
« Gepost op: 2010/01/05, 00:18:27 »
Ik heb een probleem met Problem 17 van het Euler Project.
http://projecteuler.net/index.php?section=problems&id=17
Heeft iemand enig idee wat ik fout doe?

public class Problem17 {
    public static void main(String[] args) {
        int numberOfChar = 0;
        int copy = 0, tmp = 0;
        String test = "";
        String[] table1 = {"", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten", "eleven", "twelve", "thirteen", "fourteen", "fifteen", "sixteen", "seventeen", "eighteen", "nineteen"};
        String[] table2 = {"", "", "twenty", "thirty", "forty", "fifty", "sixty", "seventy", "eighty", "ninety"};
        String[] table3 = {"", "onehundredand", "twohundredand", "threehundredand", "fourhundredand", "fivehundredand", "sixhundredand", "sevenhundredand", "eighthundredand", "ninehundredand"};
        String[] table4 = {"", "onethousand"};

        for(int i = 1; i <= 1000; i++) {
            copy = i;
            test = "";
            if(copy == 1000) {
                numberOfChar += table4[1].length();
                test += table4[1];
            }
            if(copy >= 100 && copy < 1000) {
                copy = i / 100;
                numberOfChar += table3[copy].length();
                test += table3[copy];
                copy = i % 100;
            }
            if(copy >= 20 && copy < 100) {
                tmp = copy;
                copy /= 10;
                numberOfChar += table2[copy].length();
                test += table2[copy];
                copy = tmp % 10;
            }
            if(copy > 0 && copy < 20) {
                numberOfChar += table1[copy].length();
                test += table1[copy];
            }
            System.out.println(test);
        }
        System.out.println("number of char = " + numberOfChar);
    }
}
« Laatst bewerkt op: 2010/01/05, 01:08:16 door n3p3nthess »

Offline Rachid

  • Lid
    • rachidbm
    • Mijn blog
Re: Project Euler Problem 17
« Reactie #1 Gepost op: 2010/01/05, 00:55:12 »
Wat gaat er fout dan?
Ben je ook blij dat Ubuntu zo toegankelijk en gratis is, en wil je graag net als ik iets terugdoen, kijk dan eens rond bij mwanzo, dé poort naar het bijdragen aan Ubuntu en haar gemeenschap!

Offline Rachid

  • Lid
    • rachidbm
    • Mijn blog
Re: Project Euler Problem 17
« Reactie #2 Gepost op: 2010/01/05, 01:00:56 »
1 ding lijkt me al niet verstandig en dat is table3. "onehundredand" etc
Ik zou die and er in de code bij plakken. Gezien deze er niet altijd bijgeplakt moet worden, wanneer i %100 == 0 bijvoorbeeld ;)
Ben je ook blij dat Ubuntu zo toegankelijk en gratis is, en wil je graag net als ik iets terugdoen, kijk dan eens rond bij mwanzo, dé poort naar het bijdragen aan Ubuntu en haar gemeenschap!

Re: Project Euler Problem 17
« Reactie #3 Gepost op: 2010/01/05, 01:02:12 »
Het resultaat is niet correct.
De uitkomst met mijn code is: 21151.
Het zou namelijk 21124 moeten zijn.

Re: Project Euler Problem 17
« Reactie #4 Gepost op: 2010/01/05, 01:11:47 »
Bedankt,
Nu is de uitkomst wel correct