Programozó versenyek

Magas szintű programozási nyelvek 2, 2016. november 8., K16 ZH

2016. november 8. 16:15 – 2016. november 8. 17:55

Láttál-e már karón varjút? (C#)

Egy szőlőben x karó van. Arrafelé repül egy y varjú alkotta varjúcsapat. A varjúvezér kiadja a jelet: leszállás! Ha minden karóra 5 varjú telepedik le, akkor 2 varjúnak nem marad hely, ha pedig minden karóra 6 varjú száll, akkor 1 karó üresen marad. Könnyen kiszámolható, hogy ez csak úgy lehetséges, ha a karók száma 8, a varjaké pedig 42.

Írjon programot, amely soronként négy egész számot olvas be: v1, v2, v3 és k, ahol 0 < v1 < v3, és (v3 – v1) osztója (v3 · k + v2)-nek. Az első két szám (v1 és v2) azt mondja meg, hogy ha v1 varjú száll le egy-egy karóra, akkor v2 varjúnak nem marad hely a karókon, a második két szám (v3 és k) pedig azt írja le, hogy ha v3 varjú száll le minden egyes karóra, akkor k karó üresen marad. A program minden sor esetén két egész számot írjon a standard kimenetre egy-egy sorban, egymástól pontosan egy szóköz karakterrel elválasztva, amelyek megadják a szőlőben lévő karók (x) és az azokra leszálló varjak (y) számát! A bemenet végét négy darab 0-s szám jelzi.

Példa bemenet

  1. 5 2 6 1
  2. 2 4 5 4
  3. 1 15 7 3
  4. 3 5 5 5
  5. 0 0 0 0
letöltés szöveges állományként

A példa bemenethez tartozó kimenet

  1. 8 42
  2. 8 20
  3. 6 21
  4. 15 50
letöltés szöveges állományként
Debreceni Egyetem, Informatikai Kar, v. 2019.03.01.