{"id":1242,"date":"2015-03-31T09:18:37","date_gmt":"2015-03-31T07:18:37","guid":{"rendered":"http:\/\/www.webotlet.hu\/?p=1242"},"modified":"2024-09-21T08:53:44","modified_gmt":"2024-09-21T06:53:44","slug":"java-kiegeszito-lecke-tobbszoros-megszamlalas","status":"publish","type":"post","link":"https:\/\/www.webotlet.hu\/?p=1242","title":{"rendered":"Java kieg\u00e9sz\u00edt\u0151 lecke &#8211; T\u00f6bbsz\u00f6r\u00f6s megsz\u00e1ml\u00e1l\u00e1s"},"content":{"rendered":"<h3><strong>Csak akkor olvass tov\u00e1bb, ha a <a title=\"T\u00f6bbsz\u00f6r\u00f6s megsz\u00e1ml\u00e1l\u00e1s egyszer\u0171en\" href=\"http:\/\/www.webotlet.hu\/?p=1135\">t\u00f6bbsz\u00f6r\u00f6s megsz\u00e1ml\u00e1l\u00e1s<\/a> feladatot megoldottad, vagy nem siker\u00fclt megoldani.<\/strong><\/h3>\n<h4>Alapeset<\/h4>\n<p>Az alap probl\u00e9ma teh\u00e1t az, hogy sz\u00e1moljuk meg, egy sz\u00e1m h\u00e1nyszor fordul el\u0151 egy olyan t\u00f6mbben, amely a [0;10] intervallumb\u00f3l tartalmaz elemeket.<\/p>\n<p>A megold\u00e1s rendk\u00edv\u00fcl egyszer\u0171 \u00e9s eleg\u00e1ns. El\u0151sz\u00f6r is sz\u00fcks\u00e9g\u00fcnk van egy olyan t\u00f6mbre, melynek akkora a m\u00e9rete, mint ah\u00e1ny f\u00e9le sz\u00e1mot tartalmaz az a t\u00f6mb, melyben a megsz\u00e1moland\u00f3 sz\u00e1mok vannak. Ez a t\u00f6mb tartalmazza majd azt, hogy a sz\u00e1mok k\u00f6z\u00fcl melyiket h\u00e1nyszor sz\u00e1moltuk meg. Mivel a t\u00f6mb, melyben a megsz\u00e1ml\u00e1land\u00f3 sz\u00e1mok vannak csak a [0;10] intervallumb\u00f3l tartalmaz \u00e9rt\u00e9keket, ez\u00e9rt itt 11 f\u00e9le sz\u00e1m fordulhat csak el\u0151. A darabsz\u00e1mokat tartalmaz\u00f3 t\u00f6mb m\u00e9rete \u00edgy 11 lesz.<\/p>\n<p>A tr\u00fckk l\u00e9nyege az, hogy az megsz\u00e1ml\u00e1l\u00e1s eredm\u00e9ny\u00e9t tartalmaz\u00f3 t\u00f6mb megfelel\u0151 indexei fogj\u00e1k jelenteni a megsz\u00e1ml\u00e1land\u00f3 sz\u00e1mokat, az adott index\u0171 elem \u00e9rt\u00e9ke pedig a darabsz\u00e1mot.<\/p>\n<p>N\u00e9zz\u00fck mit jelent p\u00e9ld\u00e1ul az, ha a darabsz\u00e1mokat tartalmaz\u00f3 t\u00f6mb a megsz\u00e1ml\u00e1l\u00e1s ut\u00e1n \u00edgy n\u00e9z ki. Ez csak egy p\u00e9lda, nem a feladat eredm\u00e9nye. A megjegyz\u00e9s sorban a darab t\u00f6mb indexei szerepelnek, alatta pedig az adott indexhez tartoz\u00f3 \u00e9rt\u00e9kek:<\/p>\n<pre class=\"brush: java; title: ; notranslate\" title=\"\">\r\n\/\/ 0  1  2  3  4  5  6  7  8  9  10\r\n{  5, 3, 0, 7, 3, 8, 2, 8, 9, 2, 0 }\r\n<\/pre>\n<p>Ez ebben az esetben azt jelenti, hogy a 0 sz\u00e1mb\u00f3l 5 darabot sz\u00e1moltunk, az 1-es sz\u00e1mb\u00f3l 3-at, 2-es sz\u00e1m nem szerepelt, stb.<\/p>\n<p>A sz\u00e9p az eg\u00e9szben az, hogy m\u00e9g felt\u00e9telvizsg\u00e1latra sincs sz\u00fcks\u00e9g a megsz\u00e1ml\u00e1l\u00e1sra, de p\u00e9ld\u00e1n kereszt\u00fcl hamarabb meg\u00e9rtj\u00fck.<\/p>\n<pre class=\"brush: java; gutter: true; highlight: [8]; title: ; notranslate\" title=\"\">\r\nint&#x5B;] szamok = { 2,5,4,0,10,1,4,8,5,2,8,1,9,10,\r\n               7,7,3,5,2,4,3,8,0,8,10,8,1,1,8,\r\n               10,7,7,3,8,3,6,6,7,5,8,9,3,9,3,\r\n               5,9,9,5,2,8,10,4,1,0,4,9,2,5,5 };\r\nint&#x5B;] db = new int&#x5B;11];\r\nfor( int i = 0; i &lt; szamok.length; i++ )\r\n{\r\n  db&#x5B; szamok&#x5B;i] ]++;\r\n}\r\nSystem.out.println(&quot;A tombben levo szamok darabszama:&quot;);\r\nfor( int i = 0; i &lt; db.length; i++ )\r\n{\r\n  System.out.println(i+&quot;: &quot;+db&#x5B;i]);\r\n}\r\n<\/pre>\n<p>Ennyi lenne csak? Igen. Mit is csin\u00e1lunk? A db t\u00f6mb megfelel\u0151 hely\u00e9n l\u00e9v\u0151 sz\u00e1mot megn\u00f6velj\u00fck eggyel. Pontosabban: a db t\u00f6mb &#8220;sz\u00e1modik&#8221; index\u0171 elem\u00e9t megn\u00f6velj\u00fck eggyel. Vagyis ha a &#8216;szamok&#8217; t\u00f6mbben \u00e9ppen egy 3-as sz\u00e1mn\u00e1l j\u00e1runk, akkor a db[3] elemet n\u00f6velj\u00fck meg eggyel, vagyis megsz\u00e1moltuk! A v\u00e9g\u00e9n pedig az eredm\u00e9nyt\u00f6mbben l\u00e1tni fogjuk, melyik indexn\u00e9l milyen \u00e9rt\u00e9k szerepel, vagyis melyik sz\u00e1mb\u00f3l h\u00e1ny darab volt.<\/p>\n<h4>Pozit\u00edv ir\u00e1nyba eltolt intervallum<\/h4>\n<p>Ok\u00e9, de mi van akkor, ha az intervallum nem 0-val kezd\u0151dik, vagyis valamilyen ir\u00e1nyba el kellett tolni? P\u00e9ld\u00e1ul a t\u00f6mbben l\u00e9v\u0151 sz\u00e1mok intervalluma [5;20], mint ahogy az egyik feladatban is szerepel. Akkor a darabokat t\u00e1rol\u00f3 t\u00f6mb m\u00e9ret\u00e9t is ennek megfelel\u0151en kell megv\u00e1lasztani, vagyis 0-20 indexeknek kell rendelkez\u00e9sre \u00e1llni. Az egy dolog, hogy a 0-4 indexeknek itt semmi jelent\u0151s\u00e9ge nem lesz, de ez senkit nem \u00e9rdekel. Ami fontos, hogy k\u00fcl\u00f6nbs\u00e9get tudj tenni ak\u00f6z\u00f6tt, hogy a 3-as index eleme nulla, \u00e9s a 7-es index eleme nulla. Az els\u0151 ugye egy nem l\u00e9tez\u0151 sz\u00e1m, mert ilyen sz\u00e1m nincs az intervallumban. A 7-es index eleme pedig azt jelenti, hogy nincs 7-es sz\u00e1m a t\u00f6mbben. L\u00e1ssuk akkor \u00edgy a p\u00e9ld\u00e1t:<\/p>\n<pre class=\"brush: java; gutter: true; highlight: [7,13]; title: ; notranslate\" title=\"\">\r\nint&#x5B;] szamok = { 13,18,11,14,17,12,18,11,11,17,17,13,\r\n                 5,13,5,14,19,5,11,15,11,12,13,20,\r\n                 18,16,16,13,11,17,17,19,5,14,11,\r\n                 14,11,14,8,14,13,20,17,6,20,17,\r\n                 18,9,9,12,15,20,10,5,7,11,19,16,\r\n                 11,10,10,11,14,20,5,10,10 };\r\nint&#x5B;] db = new int&#x5B;21];\r\nfor( int i = 0; i &lt; szamok.length; i++ )\r\n{\r\n  db&#x5B; szamok&#x5B;i] ]++;\r\n}\r\nSystem.out.println(&quot;A tombben levo szamok darabszama:&quot;);\r\nfor( int i = 5; i &lt; db.length; i++ )\r\n{\r\n  System.out.println(i+&quot;: &quot;+db&#x5B;i]);\r\n}\r\n<\/pre>\n<p>Ha jobban megn\u00e9zed, az algoritmusban gyakorlatilag csak a k\u00e9t kiemelt sorban van k\u00fcl\u00f6nbs\u00e9g. Az egyik az, hogy m\u00e1s a t\u00f6mb m\u00e9rete, amibe meg akarom sz\u00e1molni az egyes sz\u00e1mok el\u0151fordul\u00e1sait. A m\u00e1sik az, hogy amikor a darabsz\u00e1maikat ki akarom \u00edrni, akkor az els\u0151 5 elemet kihagyom, hiszen azok nem val\u00f3di eredm\u00e9nyt tartalmaznak.<\/p>\n<h4>Negat\u00edv ir\u00e1nyba eltolt intervallum<\/h4>\n<p>Eddig rendben is voln\u00e1nk, b\u00e1rmilyen nem negat\u00edv sz\u00e1mokat tartalmaz\u00f3 t\u00f6mbben k\u00f6nnyen megsz\u00e1molhatjuk az el\u0151fordul\u00e1sokat. \u00c9s ha negat\u00edv ir\u00e1nyba toltuk el? Negat\u00edv indexek nem l\u00e9teznek. Akkor mit tehet\u00fcnk? Toljuk el \u00fagy, hogy nek\u00fcnk j\u00f3 legyen.<\/p>\n<p>A feladat alapj\u00e1n a t\u00f6mbben l\u00e9v\u0151 sz\u00e1mok a [-10;10] intervallumban vannak. Akkor mit csin\u00e1ljunk? Azt, hogy h\u00e1ny f\u00e9le sz\u00e1mot kell megsz\u00e1molni, k\u00f6nnyen megkaphatjuk, hiszen csak az intervallum m\u00e9ret\u00e9t kell kisz\u00e1molni. Ha eml\u00e9kszel r\u00e1, ezt m\u00e1r a v\u00e9letlen sz\u00e1mok sorsol\u00e1s\u00e1n\u00e1l is kihaszn\u00e1ltuk: fels\u0151-als\u00f3+1=21. Ha ez megvan, akkor l\u00e9trehozunk egy ekkora t\u00f6mb\u00f6t, melybe a darabsz\u00e1mokat r\u00f6gz\u00edtj\u00fck. A megsz\u00e1ml\u00e1l\u00e1s sor\u00e1n pedig mi figyel\u00fcnk arra, hogy az intervallumot meg az elemeket is az eltol\u00e1s m\u00e9rt\u00e9k\u00e9nek megfelel\u0151en kezelj\u00fck. Mennyivel kell \u00e9s merre eltolni ezt az intervallumot, hogy a kezd\u0151pontja a 0 legyen? +10-zel, igaz?<\/p>\n<p>Akkor l\u00e1ssuk a megold\u00e1st ennek megfelel\u0151en:<\/p>\n<pre class=\"brush: java; gutter: true; highlight: [7,10,13,15]; title: ; notranslate\" title=\"\">\r\nint&#x5B;] szamok = { -2,9,4,2,6,4,2,-9,5,-1,0,-6,-6,\r\n                 2,-3,-9,-4,7,-2,-9,3,5,-9,2,-5,\r\n                 -8,-5,0,-9,-7,-8,-2,9,5,7,-7,\r\n                 -1,3,-9,0,9,-3,-1,2,-3,8,-9,4,\r\n                 -2,-2,-4,6,-5,-3,6,10,-3,8,5,\r\n                 -6,1,-9,-9,-4, 8,0,3 };\r\nint&#x5B;] db = new int&#x5B;21];\r\nfor( int i = 0; i &lt; szamok.length; i++ )\r\n{\r\n  db&#x5B; szamok&#x5B;i]+10 ]++;\r\n}\r\nSystem.out.println(&quot;A tombben levo szamok darabszama:&quot;);\r\nfor( int i = 0; i &lt; db.length; i++ )\r\n{\r\n  System.out.println((i-10)+&quot;: &quot;+db&#x5B;i]);\r\n}\r\n<\/pre>\n<p>Itt az\u00e9rt picit t\u00f6bb sort emeltem ki, n\u00e9zz\u00fck \u0151ket t\u00e9telesen:<\/p>\n<ul>\n<li>7 &#8211; A darabokat t\u00e1rol\u00f3 t\u00f6mb m\u00e9rete pontosan akkora, mint ah\u00e1ny f\u00e9le sz\u00e1m el\u0151fordul a t\u00f6mbben.<\/li>\n<li>10 &#8211; Itt az els\u0151 tr\u00fckk, hogy az adott el\u0151fordul\u00e1sokat a darab t\u00f6mbben mindig 10-zel pozit\u00edv ir\u00e1nyba eltolva t\u00e1roljuk. Vagyis a -10-es sz\u00e1mot a 0 index jelenti, a -9-et az 1-es, -8-at a 2-es, stb.<\/li>\n<li>13 &#8211; Az eredm\u00e9nyeket ki\u00edrat\u00f3 t\u00f6mbben ilyenkor nem kell gondolkodni azon, hogy honnan kezdj\u00fck a ki\u00edrat\u00e1st, hiszen az eltol\u00e1ssal pontosan azt oldottuk meg, hogy a t\u00f6mb 0-t\u00f3l indulva tartalmazza a megfelel\u0151 darabsz\u00e1mokat.<\/li>\n<li>15 &#8211; Amikor a darabsz\u00e1mokhoz hozz\u00e1 akarunk f\u00e9rni, akkor pontosan ford\u00edtva gondolkodunk. Minden i-edik index val\u00f3j\u00e1ban egy 10-zel kis kisebb sz\u00e1mot jelent, vagyis a 0 index\u0171 elem a -10-et, az 1-es index\u0171 a -9-et, stb. Az adott index\u0171 helyen l\u00e9v\u0151 \u00e9rt\u00e9k tov\u00e1bbra is a darabsz\u00e1mot jelenti, vagyis ezt b\u00e9k\u00e9n hagyjuk. Csak akkor tolunk el a megfelel\u0151 ir\u00e1nyba amikor az indexet kezelj\u00fck.<\/li>\n<\/ul>\n<h4>Ez most nem ugyanaz?<\/h4>\n<p>Ha olvas\u00e1s k\u00f6zben egy id\u0151re meg is \u00e1llt\u00e1l \u00e1tgondolni az eddigieket, felvet\u0151dhetett benned a gyan\u00fa, hogy ez a megold\u00e1s, ami eltolja az intervallumot, lehet, hogy mindk\u00e9t ir\u00e1nyban m\u0171k\u00f6dik. Eml\u00e9kszel, pozit\u00edv ir\u00e1ny\u00fa eltol\u00e1sn\u00e1l figyelmen k\u00edv\u00fcl hagytam dolgokat. Nem foglalkoztam a nem l\u00e9tez\u0151 megsz\u00e1ml\u00e1land\u00f3 sz\u00e1mokkal, egyszer\u0171en csak figyelmen k\u00edv\u00fcl hagytam \u0151ket.<\/p>\n<p>Val\u00f3j\u00e1ban nem biztos, hogy c\u00e9lszer\u0171 minden esetre k\u00fcl\u00f6n megold\u00e1st megjegyezni. Term\u00e9szetesen az is lehet helyes, de felesleges. Mi\u00e9rt? Mert az eg\u00e9szben az a legszebb, hogy a negat\u00edv ir\u00e1nyba eltolt intervallumos mindk\u00e9t esetben alkalmazhat\u00f3, s\u0151t, k\u00e9t nem eleg\u00e1ns dolgot is kik\u00fcsz\u00f6b\u00f6l:<\/p>\n<ul>\n<li>a darabokat t\u00e1rol\u00f3 t\u00f6mb m\u00e9rete ne legyen nagyobb, mint ah\u00e1ny f\u00e9le elemet sz\u00e1molni szeretn\u00e9nk<\/li>\n<li>nem kell a t\u00f6mb elej\u00e9n azokat az indexeket kiker\u00fclni a for ciklusban, melyeknek nincs jelent\u00e9se<\/li>\n<\/ul>\n<h4>Univerz\u00e1lis megold\u00e1s<\/h4>\n<p>L\u00e1ssuk akkor azt a megold\u00e1st, amely nem egy konkr\u00e9t feladat megold\u00e1sa, hanem bele\u00edrom azokat a fontos dolgokat, melyek a megold\u00e1st \u00e1ltal\u00e1noss\u00e1 teszik. Ez a megold\u00e1s nem igaz\u00e1n t\u00e9r el az el\u0151z\u0151 pontban ismertetett megold\u00e1st\u00f3l, csak annak egy \u00e1ltal\u00e1nos v\u00e1ltozata.<\/p>\n<pre class=\"brush: java; gutter: true; highlight: [1,3,6,11]; title: ; notranslate\" title=\"\">\r\nint&#x5B;] szamok = \/\/ tetsz\u0151leges intervallumbeli eg\u00e9szeket tartalmaz\u00f3 t\u00f6mb\r\n\r\nint&#x5B;] db = new int&#x5B; \/* az intervallum m\u00e9rete *\/ ];\r\nfor( int i = 0; i &lt; szamok.length; i++ )\r\n{\r\n  db&#x5B; szamok&#x5B;i]-\/* az intervallum als\u00f3 hat\u00e1ra*\/ ]++;\r\n}\r\nSystem.out.println(&quot;A tombben levo szamok darabszama:&quot;);\r\nfor( int i = 0; i &lt; db.length; i++ )\r\n{\r\n  System.out.println((i+\/* az intervallum als\u00f3 hat\u00e1ra *\/)+&quot;: &quot;+db&#x5B;i]);\r\n}\r\n<\/pre>\n<h4>Megold\u00e1s v\u00e1ltoz\u00f3 \u00e9rt\u00e9kekkel<\/h4>\n<p>A k\u00f6vetkez\u0151 megold\u00e1st \u00fagy \u00edrom meg, hogy amit csak lehet, kisorsoltatok vele. A program minden fut\u00e1sakor mindig m\u00e1s intervallumb\u00f3l sorsol elemeket v\u00e1ltoz\u00f3 sz\u00e1m\u00fa elemet, megsz\u00e1molja, hogy melyik sz\u00e1m h\u00e1nyszor fordul el\u0151 a t\u00f6mbben, \u00e9s a darabsz\u00e1mokat ki\u00edrja a k\u00e9perny\u0151re. A megold\u00e1sban annyit k\u00f6t\u00f6k csak ki, hogy az intervallum m\u00e9rete maximum 100 lehet, \u00e9s a t\u00f6mb nem tartalmazhat 30 sz\u00e1mn\u00e1l t\u00f6bbet. Ha akarn\u00e1m, ezek lehetn\u00e9nek j\u00f3val nagyobbak is, de az \u00e1tl\u00e1that\u00f3s\u00e1g miatt ezeket lekorl\u00e1toztam.<\/p>\n<pre class=\"brush: java; title: ; notranslate\" title=\"\">\r\n\/\/ addig sorsolunk intervallum hat\u00e1rokat, am\u00edg az als\u00f3 nem kisebb, mint a fels\u0151\r\nint felso, also;\r\ndo\r\n{\r\n  also = (int)(Math.random()*101)-50;\r\n  felso = (int)(Math.random()*101)-50;\r\n}\r\nwhile( !(also &lt; felso) );\r\n\r\n\/\/ a sorsolt intervallumb\u00f3l felt\u00f6lt\u00fcnk egy tetsz\u0151leges (max 30) m\u00e9ret\u0171 t\u00f6mb\u00f6t\r\nint&#x5B;] tomb = new int&#x5B;(int)(Math.random()*30)+1];\r\n\r\n\/\/ ki\u00edrjuk az \u00e9rt\u00e9keket, hogy ellen\u0151rizni lehessen\r\nSystem.out.println( &quot;innen sorsoltunk szamokat: &#x5B;&quot;+also+&quot;;&quot;+felso+&quot;]&quot; );\r\nSystem.out.println( &quot;ennyi fele szamot sorsolhatunk: &quot;+(felso-also+1) );\r\nSystem.out.println( &quot;ennyi darabot sorsoltunk: &quot;+tomb.length );\r\nSystem.out.println( &quot;ezeket sorsoltuk:\\n&quot; );\r\n\r\nfor( int i = 0; i &lt; tomb.length; i++ )\r\n{\r\n  tomb&#x5B;i] = (int)(Math.random()*(felso-also+1))+also;\r\n  System.out.print( tomb&#x5B;i]+&quot; &quot; );\r\n}\r\nSystem.out.println();\r\n\r\n\/\/ a kisorsolt sz\u00e1mok intervallum\u00e1nak megfelel\u0151en l\u00e9trehozzuk a sz\u00e1ml\u00e1l\u00f3t\u00f6mb\u00f6t\r\nint&#x5B;] db = new int&#x5B;felso-also+1];\r\n\r\n\/\/ megsz\u00e1moljuk, melyik sz\u00e1mb\u00f3l h\u00e1ny darab van a t\u00f6mbben\r\nfor( int i = 0; i &lt; tomb.length; i++ )\r\n{\r\n  db&#x5B; tomb&#x5B;i]-also ]++;\r\n}\r\n\r\n\/\/ ki\u00edrjuk, melyik sz\u00e1mb\u00f3l h\u00e1ny darab van a t\u00f6mbben\r\nSystem.out.println(&quot;\\nA tombben levo szamok darabszamai:&quot;);\r\nfor( int i = 0; i &lt; db.length; i++ )\r\n{\r\n  System.out.println((i+also)+&quot;: &quot;+db&#x5B;i]);\r\n}\r\n<\/pre>\n<p>Egy program kimenet:<\/p>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">\r\ninnen sorsoltunk szamokat: &#x5B;-3;5]\r\nennyi fele szamot sorsolhatunk: 9\r\nennyi darabot sorsoltunk: 12\r\nezeket sorsoltuk:\r\n\r\n0 -1 4 4 0 -3 5 4 4 -3 5 2 \r\n\r\nA tombben levo szamok darabszamai:\r\n-3: 2\r\n-2: 0\r\n-1: 1\r\n0: 2\r\n1: 0\r\n2: 1\r\n3: 0\r\n4: 4\r\n5: 2<\/pre>\n<p>A t\u00f6bbsz\u00f6r\u00f6s megsz\u00e1ml\u00e1l\u00e1s ett\u0151l a pontt\u00f3l kezdve \u00faj eszk\u00f6zt adott a kez\u00fcnkbe, hiszen ett\u0151l kezdve ilyen k\u00e9rd\u00e9sekre nagyon egyszer\u0171en tudunk v\u00e1laszolni:<\/p>\n<ul>\n<li>mely sz\u00e1mok nem szerepelnek a t\u00f6mbben?<\/li>\n<li>mely sz\u00e1mok szerepelnek a legt\u00f6bbsz\u00f6r a t\u00f6mbben?<\/li>\n<li>mely sz\u00e1mok fordulnak el\u0151 pontosan k\u00e9tszer a t\u00f6mbben?<\/li>\n<\/ul>\n<p>Ett\u0151l kezdve csak a fant\u00e1zia szabhat hat\u00e1rt, hogy mi mindenre j\u00f3 m\u00e9g ez a technika. A l\u00e9nyeg csak annyi: ismerd fel, hogy az adott feladat ezzel leegyszer\u0171s\u00edthet\u0151.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Csak akkor olvass tov\u00e1bb, ha a t\u00f6bbsz\u00f6r\u00f6s megsz\u00e1ml\u00e1l\u00e1s feladatot megoldottad, vagy nem siker\u00fclt megoldani. Alapeset Az alap probl\u00e9ma teh\u00e1t az, hogy sz\u00e1moljuk meg, egy sz\u00e1m h\u00e1nyszor fordul el\u0151 egy olyan t\u00f6mbben, amely a [0;10] intervallumb\u00f3l tartalmaz elemeket. A megold\u00e1s rendk\u00edv\u00fcl <a class=\"more-link\" href=\"https:\/\/www.webotlet.hu\/?p=1242\">Tov\u00e1bb <span class=\"screen-reader-text\">  Java kieg\u00e9sz\u00edt\u0151 lecke &#8211; T\u00f6bbsz\u00f6r\u00f6s megsz\u00e1ml\u00e1l\u00e1s<\/span><span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[101],"tags":[31,86,87,104,143,15],"class_list":["post-1242","post","type-post","status-publish","format-standard","hentry","category-java-kiegeszito-leckek","tag-ciklus","tag-java","tag-megszamlalas","tag-megszamolas","tag-programozas","tag-tomb"],"_links":{"self":[{"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=\/wp\/v2\/posts\/1242","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1242"}],"version-history":[{"count":19,"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=\/wp\/v2\/posts\/1242\/revisions"}],"predecessor-version":[{"id":1448,"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=\/wp\/v2\/posts\/1242\/revisions\/1448"}],"wp:attachment":[{"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1242"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1242"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1242"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}