Feladat: Gy.2009 Korcsoport: 14-15 Nehézségi fok: átlagos
Megoldó(k):  Alexy N. ,  Beleznay Á. ,  Boda P. ,  Bujdosó L. ,  Böröczky L. ,  Csaba Gy. ,  Csákány B. ,  Csörgő Emese ,  Francsovits A. ,  Gergely Zs. ,  Giba P. ,  Hegedűs P. ,  Hermann S. ,  Hetyei Judit ,  Horváth A. ,  Hraskó A. ,  Ilosvay F. ,  Kerner Anna ,  Komorowicz J. ,  Koszó L. ,  Kovács 829 T. ,  Kruppa A. ,  Lázár G. ,  Lédeczi Á. ,  Martinusz L. ,  Mátyási Piroska ,  Mészáros R. ,  Pap 127 T. ,  Princz Katalin ,  Raisz I. ,  Sógorka Zs. ,  Somogyi 196 A. ,  Stipsicz A. ,  Szabó 123 A. ,  Szabó 741 Z. ,  Szabó A. ,  Szigeti A. ,  Szögi L. ,  Takács Z. ,  Tóth 999 T. ,  Tuza P. ,  Varga K. ,  Várnai P. 
Füzet: 1982/április, 164 - 165. oldal  PDF  |  MathML 
Témakör(ök): Racionális számok és tulajdonságaik, Algebrai átalakítások, Gyakorlat
Hivatkozás(ok):Feladatok: 1981/november: Gy.2009

A szöveg csak Firefox böngészőben jelenik meg helyesen. Használja a fenti PDF file-ra mutató link-et a letöltésre.

Jelöljük a-val azt a számot, amit négyzetre akarunk emelni, és b-vel azt, amivel a-t meg akarjuk szorozni. (Feltesszük, hogy a0, b0.) Legyen továbbá c egy általunk előre megválasztott alkalmas szám, akkor ki tudjuk számolni az

A=1a-1a+c=ca2+ac
különbséget, és ennek
1A=a2c+a
reciprokát. Mivel kivonni és összeadni tud a gép, ebből a-t kivonva a2/c-t kapjuk, és ha c-t tetszőleges pozitív egésznek választjuk, akkor a2/c-ből c-szeri összeadással megkaphatjuk a2 értékét. Csak arra kell ügyelnünk, hogy a+c értéke ne legyen 0, így például a-1 mellett c-t választhatjuk 1-nek, ha pedig az a=-1 szám négyzetét is a géppel szeretnénk kiszámoltatni, akkor c-t válasszuk 2-nek.
Mielőtt az ab szorzat kiszámolását elkezdenénk, megjegyezzük, hogy pozitív egész számmal nemcsak szorozni lehet a gépünkön, hanem osztani is megtaníthatjuk a gépet. Például b/2 az 1/b+1/b összeg reciprokaként állítható elő. Ezek után az ab szorzatot például az
ab=(a+b2)2-a2-b24
összefüggés alapján számítható ki (ahol b2/4 értékét a c=4 paraméterhez tartozó négyzetre emelés szolgáltathatja). De használhatjuk a
2ab=(a+b)2-a2-b2,4ab=(a+b)2-(a-b)2
összefüggéseket is, ezeknél még az eljárás végén kell 2-vel illetve 4-gyel osztani.
 

Megjegyzés. Némi fáradsággal azt is kiszámolhatjuk, hogy 02=0, és ha egy szorzat valamelyik tényezője 0, akkor az eredmény 0. Kezdetben talán furcsán hangzik, hogy trivialitásokra tanítjuk a gépet, de ha ezeket a műveleteket valamilyen hosszú program során használjuk, és a mondott műveleteket más műveletek részeredményein kell végrehajtanunk, bizony gondolni kell a triviális kivételes esetekre is. Persze nehéz elképzelni egy programozható gépet, amelyik nem tud szorozni, de azért a gyakorlatban sok minden előfordulhat. Arról sem beszéltünk eddig, hol tároljuk a megoldásban szereplő eljárások végeredményeit. Ha vannak a gépnek memóriái, akkor ott, különben azokat számolás közben nekünk kell feljegyeznünk. Arra nem kell gondolni ezzel kapcsolatban, hogy mi nem tudjuk a részeredményeket kellő pontossággal feljegyezni, hiszen a számok gépi ábrázolása is csak korlátozott pontosságú.