Mathematical and Physical Journal
for High Schools
Issued by the MATFUND Foundation
Already signed up?
New to KöMaL?

Problem I/S. 50. (January 2021)

I/S. 50. Subscribers can reach the text of the problem after signing in. The text will be public from January 28, 2021.]

(10 pont)

Deadline expired on February 18, 2021.


Sorry, the solution is available only in Hungarian. Google translation

Legyenek kezdetben \(\displaystyle a=b=c=0\) és \(\displaystyle x=1\) Olyan \(\displaystyle x\)-et keresünk, melyre léteznek olyan \(\displaystyle a\), \(\displaystyle b\) és \(\displaystyle c\) egészek, melyre \(\displaystyle a/x\), \(\displaystyle b/x\) és \(\displaystyle c/x\) megfelelően formázott (kerekített) értékei megegyeznek a bemenetben lévőkkel. Ehhez azt használjuk ki, hogy ha \(\displaystyle x\)-ről \(\displaystyle x+1\)-re növeljük a nevezőt, akkor a megoldáshoz legközelebb eső \(\displaystyle a, b, c\) számok nem változnak sokat.

Így az algoritmus: ha legközelebbi megoldásban (előző \(\displaystyle a,b,\) és \(\displaystyle c\)) valamelyik kerekített érték a bemenetben lévőnél nagyobb, akkor nincs ilyen \(\displaystyle x\)-el megoldás, így megnöveljük x-et. Ha ez nem igaz, akkor minden tört számlálóját addig növeljük, mígy a kerekített érték el nem éri a cél értéket. Ha egyik sem haladja meg azt, találtunk egy megoldást.

Mivel a 4 változó egyszerre növekszik, nem kell minden lehetőséget kipróbálni. Bizonyítható, hogy így biztosan megtaláljuk a legkisebb \(\displaystyle x\)-et.

A lebegőpontos számábrázolásból adódó pontatlanságok elkerüléséért egész számokat és maradékos osztást érdemes használni.


Statistics:

7 students sent a solution.
10 points:Szakács Ábel.
9 points:Melján Dávid Gergő.
4 points:1 student.
3 points:1 student.
2 points:1 student.
1 point:1 student.
0 point:1 student.

Problems in Information Technology of KöMaL, January 2021