Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Hádej, hádej, hádači...:-)

Zdravím,
víkendu jsem předkládal kamáradům pár hádanek se zápalkami, nikdo z mých kamaradů ani jednu nevyřešil. Jsem jsem tedy zvědavý, jak dopadne osazenstvo poradny. Takže jedem, každá čárka představuje jednu zápalku.

1.
[http://img211.imageshack.us/img211/4747/68531256tu1 .png]
Zadání
Všichni vidí, že na rovnici něco nehraje 99 + 1 není 510. Doplňte tedy jednu zápalku tak, aby rovnost měla smysl. Musí to být rovnice, ne nerovnice. ;-) Doplňuje se pouze jedna zápalka, ostaní musí zůstat, tak jak jsou.

2.
[http://img253.imageshack.us/img253/667/14008332vs5. png]
Zadání:
Dodáním jedné zápalky vytvořte 4 trojúhelníky, s ostatními zápalkami není dovoleno pohybovat.

3.
[http://img241.imageshack.us/img241/263/79962937zn9. png]
Zadání:
Zde je třeba zase opravit rovnici se zlomkem, zápalky nám představují římské číslice. Přemístěním jedné zápalky opravte rovnost. Nerovnice opět není povolená, stejně jako dodávání zápalek.

Toť vše. Prosil bych ty, co odpovědi znají, ať napíší jenom třeba "vím"...:-D Aby se ostatní také potrápili, zítra večer postnu řešení...:-)

Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
Nevyriesili to lebo aj tie "spravne" riesenia su vpodstate nespravne blbosti. :-)
MM.. 13.05.2008 18:49
MM..
Tak tak. Jsou to vicemene "chytaky", s logikou neslucitelne...
mif 13.05.2008 18:54
mif
Tohle jsou IMHO slova lidí bez představivosti...:-) Řešení všech úhloh, které jsem sem dal je logick…
MaSo 14.05.2008 11:25
MaSo
Ja som to tiez vyriesil aniz by som to znal, ale to "spravne" riesenie nie je spravne. Ani matematic…
MM.. 14.05.2008 14:34
MM..
No, tady jde spíš o to, se zabavit u piva. A né řešit něco na x desetinných míst...:-)
MaSo 14.05.2008 15:46
MaSo
Jasne, zabava je to dobra ;-) Mozno je to dobre aj ako cvicenie pre buducich politikov, ze ako naslu…
MM.. 14.05.2008 16:23
MM..
MM.. můžeš se prosím kouknout na tyhle dvě metody a říct mi, co vlastně počítají? S rekurzí jsem nik…
MaSo 14.05.2008 16:29
MaSo
... inac ked mam k tomu napisat svoj nazor, tak toto je nevhodne pouzitie rekurzie, neprinasa to zia…
MM.. 14.05.2008 21:51
MM..
Tohle bylo na písemce z algoritmů, a mělo se napsat slovy, co ty metody dělají... Taky bych to uděla…
MaSo 14.05.2008 21:54
MaSo
Ide o to ze co je vyhodnejsie, a nie ci sa to da nahradit. V niektorych pripadoch kde je vyhodne pou…
MM.. 14.05.2008 21:59
MM..
V niektorych pripadoch kde je vyhodne pouzit rekurziu by bolo nahradenie cyklami moc narocne = zdroj… nový
MaSo 14.05.2008 22:02
MaSo
MM.. ma pravdu, je to "blbost". Ja to neznal a pochopil to az po precteni prispevku MM.. Kdyz scit… poslední
Redmarx N 15.05.2008 07:56
Redmarx N

Ja som to tiez vyriesil aniz by som to znal, ale to "spravne" riesenie nie je spravne. Ani matematicky ani logicky. Rovnica z 1. je matematicky nespravna, v rovnici mozu byt len cisla a premenne a matematicke operacie, aby ked sa na to pozre rus alebo nemec to tiez pochopil. V 2. ak mas vytvorit 4trojuholniky tak ich mas vytvorit a nie napisat. Ked mi sef povie ze vytvor program, tak mu nedonesiem cisty papier na ktorom je napisane slovo "program", to by mi fakt neuznal :-D Atd. preto su tie "spravne" riesenia matematicky aj logicky nespravne.

P.S. a ta 3. je uplne nespravna. to "specialne" cislo sa nerovna zlomku (len priblizne, na 2 desatine miesta, ale nie je to rovnost, na 3.desatinnom mieste sa to uz lisi).

MM.. můžeš se prosím kouknout na tyhle dvě metody a říct mi, co vlastně počítají? S rekurzí jsem nikdy nekamarádil, takže je to pro mě celkem hádanka...:-| Tuším ale, že to bude asi jen nějaká stupidita...

public static int pokus1(int m, int n){ 
  if (m<n)return m*m+pokus1(m+1,n); 
    else return m*m; 
  } 
   
public static int pokus2(int m, int n){ 
  int s; 
  if (m==n)return m*m; 
  else { 
    s = (m+n)/2; 
    return pokus2(m,s)+ pokus2(s+1,n); 
    } 
  } 

Díky moc! :beer:

... inac ked mam k tomu napisat svoj nazor, tak toto je nevhodne pouzitie rekurzie, neprinasa to ziadne vyhody, naopak ma to same nevyhody.
1. nezjednodusuje to program ani vyvoj - riadok for(i=m,s=0; i<=n; i++) s+=i*i; robi to iste, je jednoduchsi na naprogramovanie a je aj prehladnejsi/citatelnejsi.
2. riesenie v cykle je efektivnejsie aj rychlostou aj pamatovymi narokmi (okrem tych par premennych nepotrebuje ziaden zasobnik).
Rekurzia ma niekedy vyhody, ale IMHO urcite nie v tomto pripade :-)

Inac na danu ulohu ak by to malo byt riesene co najefektivnejsie tak by sa dal vymysliet cyklus kde by nebolo nasobenie ale len scitanie (pomocou predchadzajucej hodnoty n^2), kedze n^2 = (n-1)^2 + n + n - 1. Na niektorych CPU to moze byt efektivnejsie ako nasobenie.

Ide o to ze co je vyhodnejsie, a nie ci sa to da nahradit. V niektorych pripadoch kde je vyhodne pouzit rekurziu by bolo nahradenie cyklami moc narocne = zdroj zbytocnych chyb. A naopak, v tomto pripade (scitavanie cisel) je pouzitie rekurzie nezmyselne.

P.S. prave ma napadlo ze na to scitanie cisel m^2 az n^2 ani netreba cyklus, myslim ze sa to da matematicky upravit tak aby z toho bol jeden relativne jednoduchy vzorec na ktory netreba cyklus :-)

Zpět do poradny Odpovědět na původní otázku Nahoru