Vežbe 10

Vežbe ćete raditi u grupama po 2-3 (svaki red je jedan tim). Na taj način moći ćete da se međusobno dopunjujete dok rešavate probleme. Rešenja pišite ispod svakog zadatka. Ideja prilikom izrade zadataka jeste da potražite najelegantnije rešenje ako možete. Naravno, koristite Help. Opišite postupak u radu. Posle sačuvajte to što ste radili na USB.

Zadatak br 1

Generišite Manipulate koji vam dozvoljava da napravite lepo formatiranu tablicu množenja, sabiranja, ili deljenja (korisnik treba da bira šta od te tri operacije želite). Na glavnoj dijagonali elementi treba da budu elementi obojeni crveno, dok ostala polja treba da budu standardno (crno) obojena. Primetite da tu implicitno imate uslov pa morate da napravite funkciju koja koristi kondicional kada određujete kojom bojom šta treba da  bude obojeno.

Zadatak 2

Suma prostih brojeva manjih od 10 je 2 + 3 + 5 + 7 = 17. Naći sumu svih prostih brojeva manjih od 20 miliona. Jedan način da se to uradi jeste da se iskoristi NestWhile.

Zadatak 3

Generišimo listu prvih 50 Fibonacci brojeva koristeći funkciju Fibonacci.

Prvi i drugi Fibonacci broj su jednaki 1. Ostali se dobiju tako što se prethodna dva broja saberu. U pitanju je rekurzija.

iskoristite NestList da generišete tih 50 Fibonacci brojeva. Rekurzija  treba da počne od vektora {1,1} i da radi sa parovima brojeva (2D vektorima) iz kojih se na kraju izdvoji samo po jedan element. Treba da na taj način generišete istu listu kao na početku zadatka.

Zadatak br 4

Videli smo kako možemo da rekurzivno sabiramo veličine u nekoj listi. Razmotrimo sada kako bi radilo faktorijel za proizvoljnu listu. To bi bio proizvod svih njenih elemenata. Koristeći Fold izračunajte proizvod svih elemenata liste

{a,b,c,d,f}

kao i svih elemenata liste

Range[50]

Uporedite ovo poslednje sa

50!