31.07.2015 Views

Kontrolinio darbo atsakymai.

Kontrolinio darbo atsakymai.

Kontrolinio darbo atsakymai.

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Šeštadieninė informatikos olimpiadininkų mokykla Kontrolinis darbas 2009 m. lapkričio 28 d.Vardas, pavardė: Vardenis PavardenisIšskaidykite žemiau pateiktus skaičius pirminiais daugikliais.420 = 2 2 * 3 * 5 * 7990 = 2 * 3 2 * 5 * 11Koks jų didžiausias bendras daliklis? DBD(420, 990) = 30Koks jų mažiausias bendras kartotinis? MBK(420, 990) = 420*990/30 = 13860Kiek daliklių (nebūtinai pirminių, ir įskaitant 1 bei patį skaičių) turi žemiau pateikti skaičiai:Skaičius (pateiktas išraiška)Kiek jis turi daliklių?440 = 2 3 * 5 1 * 11 1 (3+1)(1+1)(1+1) = 16990 = 2 1 * 3 2 * 5 1 * 11 1 (1+1)(2+1)(1+1)(1+1) = 242 2 * 3 7 * 5 (2+1)(7+1)(1+1) = 482 * 3 4 * 5 3 * 6 2 = 2 3 * 3 6 * 5 3 (3+1)(6+1)(3+1) = 1123 6 * 6 3 * 7 8 * 8 7 = 2 24 * 3 9 * 7 8 (24+1)(9+1)(8+1) = 2250Žemiau pateikta Euklido algoritmo realizacija Paskalio ir C++ kalbomis:function DBD(a, b : integer): integer;beginif b = 0then DBD := aelse DBD := DBD(b, a mod b);end;int DBD(int a, int b){return b = 0 ? a : DBD(b, a % b);}Kiek funkcijos DBD kvietimų bus įvykdyta su pateiktais argumentais? (Užpildykite lentelęžemiau. Pavyzdžiui, iškvietus funkciją DBD(4, 3), iš viso būtų atliekami 3 funkcijoskvietimai.)Funkcijos iškvietimas(su argumentais)Iškvietimų skaičius(įrašykite)DBD( 3, 5) 5DBD(24, 8) 2DBD(32,41) 7DBD( 1, 0) 1DBD(89,55) 101 iš 4


Šeštadieninė informatikos olimpiadininkų mokykla Kontrolinis darbas 2009 m. lapkričio 28 d.Užpildykite žemiau pateiktą lentelę. (Kiekvienoje eilutėje turi būti rašomas tas patsskaičius, skirtingose pozicinėse skaičiavimo sistemose.)Dvejetainėje Aštuntainėje Dešimtainėje Šešioliktainėje1 1 1 11000 10 8 810111 27 23 171100011 143 99 631111111 177 127 7F11101011 353 235 EB10111111 277 191 BF_101010111100 5274 2748 ABCKompiuteryje skaičiai vaizduojami dvejetaine sistema. Pavyzdžiui, skaičius 40 aštuoniųbitų sveiko skaičiaus duomenų tipu būtų vaizduojamas taip: 00101000. Tačiau vaizduojantneigiamas reikšmes, naudojamas kitoks kodavimas: tuomet skaičiaus bitai invertuojami (0pakeičiami 1, ir atvirkščiai), ir pridedamas vienetas. Pavyzdžiui, –40 būtų vaizduojama:inv(00101000) + 1 = 11010111 + 1 = 11011000.Pabaikite pildyti žemiau pateiktą lentelę:SkaičiusVaizdavimas 8 bitų sveiko skaičiaus tipu–86 10101010–16 11110000–111 10010001–103 10011001–127 10000001Kodėl, jūsų manymu, pasirinktas būtent toks neigiamų skaičių vaizdavimo būdas?Todėl, kad toks neigiamų skaičių vaizdavimo būdas kompiuteryje “natūraliai” įgaunasavybę: n + (–n) = 0. (Kas netikite, pamėginkit patys sudėti. Vyriausias rezultato bitas nėraišsaugomas.)3 iš 4


Šeštadieninė informatikos olimpiadininkų mokykla Kontrolinis darbas 2009 m. lapkričio 28 d.Koks yra pateiktų funkcijų laiko sudėtingumas argumento n atžvilgiu?Pascal C++ O(?)function X(n: longint): longint;var sum, i, j : longint;beginsum := 0;for i := 1 to n dofor j := 1 to i dosum := sum + 1;X := sum;end;function Y(n: longint): longint;var sum, i : longint;beginsum := 0;for i := 1 to n dosum := sum + i;Y := sum;end;function Z(n: longint): longint;beginZ := n * (n + 1) div 2;end;function pirminis(n: longint): boolean;var d : longint;beginpirminis := true;d := 2;while d*d < n do beginif n mod d = 0then pirminis := false;d := d + 1;end;end;int X(int n){int sum = 0;for (int i = 1; i

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!