kwiecień 2011

Data ostatniej modyfikacji:
2015-04-2

Zad. 1. Ile czasu średnio wymagałoby trafienie na właściwy czterocyfrowy pin karty bankomatowej, gdyby bankomat nie blokował karty mimo podawania nieprawidłowych jego wariantów, a wprowadzenie każdego układu i przekonanie się, czy jest prawdziwy, trwałoby łącznie sekundę?

Zad. 2. Cukiernia pana Jana wypieka trzy rodzaje (przepysznych!) ciast. Ciasto ananasowe sprzedawane jest po 50 zł, brzoskwiniowe - po 80, a cebulowe po 40 zł, jednak w ciągu dnia (przepustowość pieców, dostępność załogi, ...) są w stanie upiec w sumie tylko 300 ciast. W dodatku miodu używanego do ich produkcji jest na stanie już tylko kilogram! (Ale na szczęście innych substratów potrzebnych do ich wypieku cukiernia ma pod dostatkiem (czyt.: nieskończenie wiele)). Ile ciast którego rodzaju powinien przygotować pan Jan, żeby zmaksymalizować swój dobowy przychód, jeśli do wypieku ciasta ananasowego potrzeba 2 dag miodu, do brzoskwiniowego - 5 dag, a do cebulowego - 1 dag?

Zad. 3. Rozwiąż kryptarytm: TRZY·TRZY=DZIEWIĘĆ.

 

Wyniki: 

Za rozwiązania zadań kwietniowych wszyscy Ligowicze z pierwszych czterech pozycji w sumarycznym rankingu otrzymali po 3 pkt, więc czołówka Ligi pozostała zupełnie bez zmian - na 21 możliwych dotychczas do zdobycia punktów:

  • 20 ma Krystyna Lisiowska, redaktor z Warszawy,
  • 16,5 - Wojciech Tomiczek, student z Lipowej,
  • 16 - Daria Bumażnik z Gimnazjum nr 1 w Jeleniej Górze,
  • 14,5 - Tomasz Skalski z III LO we Wrocławiu.

Gratulujemy!

 

Odpowiedzi: 

Zad. 1. Wszystkich układów czterech, niekoniecznie różnych, cyfr jest 10000, średnio trafimy zatem na właściwy po 5000 s (a w zasadzie o 0,5 s mniej lub więcej - w zależności od tego, czy doliczamy czas potrzebny na wpisanie właściwego kodu), czyli 1 h 23 min 20 s.

Zad. 2 łatwo rozwiązać przy użyciu tzw. Solvera, narzędzia dostępnego w arkuszach kalkulacyjnych: jeśli przez a, b i c oznaczymy adresy komórek, w których chcemy otrzymać szukane wartości, to komórka celu powinna mieć wartość obliczaną wyrażeniem 50·a+80·b+40·c, a warunki ograniczające to: a, b, c - całkowite i nieujemne, a+b+c 300 i 2a+5b+c 100. Okazuje się wówczas, że maksimum funkcji celu jest przyjmowane przy a=b=0 i c=100 (do czego można również akurat przy takich danych łatwo dojść prostym rozumowaniem - jeśli w otrzymanym układzie chcielibyśmy zmniejszyć c, to jest to nieopłacalne, bo zużycie miodu na inne ciasta nie jest rekompensowane wzrostem przychodu). Ogólnie problemy takie (optymalizacji, w sformułowaniu których występują funkcje liniowe) rozwiązuje tzw. algorytm simpleks, którym posługuje się np. darmowy program do różnych typów optymalizacji, QSB.

Zad. 3. Poniższy program w języku Pascal generuje wszystkie liczby czterocyfrowe o różnych cyfrach ("TRZY"), których kwadrat jest ośmiocyfrowy, ma taką samą trzecią cyfrę od początku, co od końca, a jego jedyną cyfrą, która występuje w "TRZY", jest druga, i jest ona równa Z. Okazuje się, że jedyną taką liczbą jest 3749, ona jednak, jak łatwo bezpośrednio się przekonać, nie spełnia pozostałych warunków zadania, nie ma więc ono rozwiązań.

var i, j, k, l : Integer;
    c : Array[0..3] of Integer;
    c1 : Array[0..7] of Integer;
begin
  for l:=3201 to 9876 do
    begin
      k:=l;
      for i:=0 to 3 do
        begin
          c[i] := k mod 10;
          k := k div 10
        end;
      if (c[0]<>0) and (c[0]<>5) and (c[0]<>6) then
        if (c[0]<>c[1]) and (c[0]<>c[2]) and (c[0]<>c[3]) and
          (c[1]<>c[2]) and (c[1]<>c[3]) and (c[2]<>c[3]) then
           begin
             k := l*l;
             for i:=0 to 7 do
               begin
                 c1[i] := k mod 10;
                 k := k div 10
               end;
             if (c1[6]=c[1]) and (c1[5]=c1[2]) then
               begin
                 k:=0;
                 for i:=0 to 3 do for j:=0 to 7 do if c[i]=c1[j] then k:=k+1;
                 if k=1 then WriteLn(l)
               end
           end
    end
end.

 

Powrót na górę strony