Facebook puzzles, le mie soluzioni
Periodicamente cercherò, nel tempo libero, di risolvere alcuni dei puzzle “più facili” che si possono trovare in questa pagina: http://www.facebook.com/careers/puzzles.php. Sono dei simpatici modi di esercitarsi a programmare, e nel caso risolviate in modo giusto ed efficiente alcuni di quelli più difficili – c’è il rischio di venire contattati da Facebook per un posto di lavoro (mica male eh?).
I primi di cui invio la soluzione sono banali – quelli di prova. Di seguito la mia proposta di soluzione al problema che si chiama “Hoppity Hop!” (in Java)
package facebookpuzzles; import java.io.File; import java.io.FileNotFoundException; import java.util.Scanner; /** * @author Qualsiasi */ public class HoppityHop { private String f_name; private Integer numero; private int i; HoppityHop(String filename) { f_name = filename; } public void run() throws FileNotFoundException { File in = new File(f_name); Scanner scan = new Scanner(in); numero = scan.nextInt(); for (i=1;i < = numero;i++) { if ( (i%3 == 0) && (i%5 != 0)) {System.out.printf("Hoppity\n");} if ( (i%3 != 0) && (i%5 == 0)) {System.out.printf("Hophop\n");} if ( (i%3 == 0) && (i%5 == 0)) {System.out.printf("Hop\n");} } } }
Ovviamente l’oggetto va istanziato, il costruttore prevede il nome del file contenente il numero come parametro e poi si chiama il metodo “run()”.
E ora l’ancor più banale soluzione, in C, a Meep meep! – il secondo puzzle.
#include int main(int argc, char **argv) { /* non leggere argv[1] */ printf("Meep meep!\n"); }
Alla prossima.