## 3 Luvunetsintä **Tehtävä:** Luvun kolmas tehtävä on yksinkertainen luvunetsintäohjelma. Tee ohjelma, joka ensin pyytää käyttäjältä kokonaisluvun syötteellä "Anna aloituspaikka:". Tämän jälkeen ohjelma alkaa läpikäymään lukuja käyttäjän antamasta aloituspaikasta eteenpäin. Ohjelman tehtävänä on etsiä luku, joka on jaollinen luvuilla 3, 5 ja 7, eli siten että [luku] / [3, 5 tai 7] menee aina tasan ja tuottaa desimaalittoman (esim. 6.0, 1724) . Jos testattava luku ei mene tasan, tulostetaan "[luku] ei kelpaa..." ja siirrytään seuraavaan lukuun. Kun sopiva luku löytyy, tulostetaan "Sopiva luku löytyi: [luku]" ja lopetetaan ohjelma siihen paikkaan. Kannattaa huomata, että käytävien kierrosten määrää on hyvin vaikea ennustaa etukäteen, joten ohjelma kannattaa toteuttaa toistonohjauksen avulla. Lisäksi ohjelmaa tehtäessä kannattaa tutustua jakojäännös-operaattoriin (%). Toimiessaan oikein ohjelma tulostaa seuraavaa: Example output: ``` Anna aloituspaikka: 100 100 ei kelpaa... 101 ei kelpaa... 102 ei kelpaa... 103 ei kelpaa... 104 ei kelpaa... Sopiva luku löytyi: 105 ``` **Vastaus** ``` #!/usr/bin/env ruby # coding: utf-8 def jaonTarkistus(luku, jakajat) i = 0 for jakaja in jakajat if (luku.to_f % jakaja) == 0 i += 1 end end if i == jakajat.length puts "Sopiva luku löytyi: #{luku}" return true else puts "#{luku} ei kelpaa..." return false end end begin puts "Anna aloituspaikka:" paikka = Integer(gets.strip.chomp) rescue ArgumentError warn "Anna kokonaisluku" retry end while true if jaonTarkistus(paikka, jakajat) Process.exit(0) end paikka += 1 end ```