Tesztmegoldások

Codecool

 

1. tesztmegoldás

2. tesztmegoldás

3. tesztmegoldás

4. tesztmegoldás

 

1. tesztmegoldás

 

Adott egy egyre növekvő téglarakás. A kérdés, hogy a 10. téglarakás hány téglából fog állni?

2. tesztmegoldás

 

Csakis papír és toll segítségével állapítsuk, hogy hány olyan kétjegyű szám van, ahol az egyik számjegy több, mint a másik?

3. tesztmegoldás

 

Forrás - Source: codereview.stackexchange.com

 

5 doors are closed. In the first pass, I open all of them. In the second pass, I toggle every second door. In the third pass, I toggle every third door. I continue this until I have completed the 5th pass. Find all the doors that will remain open after 5 passes.

 

Adott 5 zárt ajtó egy átjáróban. Az 1. átkeléskor kinyitom az összeset, a 2. átkeléskor bezárom minden másodikat, a 3. átkeléskor bezárom minden harmadikat. Ezt ötször csinálom meg (tehát az átkelések száma = ajtók száma). Hány ajtó marad nyitva az 5. kör után?

 

A fenti angol nyelvű feltételmegadás szerintem nem teljes, mert zárt ajtó esetén azt újból ki kell nyitnunk. Ha jól emlékszem, a Codecool-szöveg ezt a feltételt tartalmazta, bár elképzelhető, hogy ettől a feltételek kissé különböztek. Mindenesetre az angol nyelvű szöveg Java-implementációja a következő (forrás: codereview.stackexchange.com):

 

www.informatika-programozas.hu - Futtatható Java-kód!

 

 

 

 

 

 

 


import java.util.HashMap;
 

public class Main {
public static void main(String[] args) {
    int passes = 5;
    HashMap<Integer, Boolean> doors = new HashMap<Integer, Boolean>();
    int i = 0;
    //Open all doors as default in the start
    while(i < passes){
        doors.put(i, false);
        i++;
    }
    for(int j = 1; j <= passes; j++){
        for(int k = j - 1; k < passes; k += j)
        doors.put(k, !(doors.get(k)));
        }

    for(int l = 0; l < passes; l++){
        System.out.println("The door number "+(l + 1)+" is "+(doors.get(l) == true ? "Opened" : "Closed"));
        }
    }
}

 

Végeredmény:

The door number 1 is Opened
The door number 2 is Closed
The door number 3 is Closed
The door number 4 is Opened
The door number 5 is Closed

 

4. tesztmegoldás

 

Látható volt egy flowchart (folyamatábra). A kérdés, hogy mennyi lesz az algoritmus végeredménye?

 

www.informatika-programozas.hu - Futtatható Java-kód!

 

 

 

 

 

 

 


public class Main {
public static void main(String[] args) {
    int N = 5;
    int F = 1;

    do{
        F = F * N;
        N--;
    }while(N != 0);
    System.out.println (F);
    }
}
 

Végeredmény:

120