(H) Läheisimmät tekijät

Tavoite: Harjoittelen C++:n kontrollirakenteita (ehto- ja silmukkalauseita) sekä valitsemaan sopivan silmukkarakenteen.

Ohjeita: Tässä tehtävässä haet ensin ohjelmakoodipohjan käyttöösi hakemistosta templates/02/factors (kopioi hakemistoon student/02/factors) ja avaat projektin Qt Creatorissa (samoin kuin edellisessä tehtävässä).

Lisäohje

Tässä tehtävässä voit itse valita, kuinka monta commit-komentoa teet, mutta on suositeltavaa tehdä niitä enemmän kuin yksi.

Tehtävänanto

Toteuta valmiiseen ohjelmakoodipohjaan ohjelma, joka jakaa annetun tulon kahdeksi tekijäksi, jotka ovat mahdollisimman lähellä toisiaan.

Aluksi ohjelma kysyy positiivista lukua (tulo). Jos syötteeksi annetaan nolla tai negatiivinen luku, ohjelma tulostaa “Only positive numbers accepted”. Muussa tapauksessa ohjelma tulostaa tulon ja sen kaksi tekijää. Tekijöistä pienempi tulostetaan ensin.

Alla on muutama esimerkki ohjelman toiminnasta.

Enter a positive number: 20
20 = 4 * 5
Enter a positive number: 16
16 = 4 * 4
Enter a positive number: 5
5 = 1 * 5
Enter a positive number: 60
60 = 6 * 10
Enter a positive number: 0
Only positive numbers accepted

Vinkkejä tehtävän tekemiseen:

  • Kun jakolaskuoperaattoria (/) sovelletaan kokonaisluvuille, tuloksena saadaan kokonaisosa (desimaaliluvun pistettä/pilkkua edeltävä osa). Esimerkiksi 7 / 2 = 3.
  • Muistatko, mitä operaattori % tekee?
  • Huomaa, että tehtävä ei vaadi tulon jakamista alkutekijöihin.

A+ esittää tässä kohdassa tehtävän palautuslomakkeen.