eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingRozkład na jedynkiRe: Rozkład na jedynki
  • Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!opal.futuro.pl!news.internetia.pl!no
    t-for-mail
    From: Tomasz Kiełpiński <F...@p...onet.pl>
    Newsgroups: pl.comp.programming
    Subject: Re: Rozkład na jedynki
    Date: Fri, 23 Jan 2009 10:00:35 +0100
    Organization: Netia S.A.
    Lines: 37
    Message-ID: <glc1ec$9qm$1@mx1.internetia.pl>
    References: <s...@e...rdc.pl>
    NNTP-Posting-Host: 77-252-114-235.ip.netia.com.pl
    Mime-Version: 1.0
    Content-Type: text/plain; format=flowed; charset="iso-8859-2"; reply-type=original
    Content-Transfer-Encoding: 8bit
    X-Trace: mx1.internetia.pl 1232701710 10070 77.252.114.235 (23 Jan 2009 09:08:30 GMT)
    X-Complaints-To: a...@i...pl
    NNTP-Posting-Date: Fri, 23 Jan 2009 09:08:30 +0000 (UTC)
    X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.5579
    X-Tech-Contact: u...@i...pl
    X-Newsreader: Microsoft Outlook Express 6.00.2900.5512
    X-Priority: 3
    X-Server-Info: http://www.internetia.pl/news/
    X-MSMail-Priority: Normal
    Xref: news-archive.icm.edu.pl pl.comp.programming:180802
    [ ukryj nagłówki ]

    'Twas brillig when Mariusz Kruk wrote:
    > Przeglądałem sobie stare wydania Komputera i znalazłem tam takie
    > zadanie:
    > #v+
    > 8/1990 W książce .Opowieści matematyczne. dr Michał Szurek podaje jak
    > wyrazić 1983 za pomocą jedynek:
    > 1983 = (1+1+1)*{1+(1+1+1)*(1+1+1+1)*(1+1+1+1+1)*[(1+1+1)*(1
    +1+1)+1+1]}
    > Proponuję napisać program podający dla danej liczby
    > minimalną liczbę jedynek pozwalającą wyrazić tę
    > liczbę (dopuszczalnymi operacjami są tylko dodawanie
    > i mnożenie; nie wolno łączyć jedynek w liczby
    > wielocyfrowe).
    > #v-
    > Zastanawiam się od której strony zacząć (ewentualnie o co pytać google),
    > bo podejście naiwne wydaje się "trochę" czasochłonne ;->
    > PS: Nie, nie jest to żadne zadanie na uczelnię :-) Pochodzi z
    > miesięcznika Komputer, z numeru 7-12/90, z działu Klub Mistrzów
    > Komputera.

    Tak na logikę:

    -Rozłożyć liczbę na czynniki pierwsze
    - Jeśli dany czynnik N >5 rozłożyć na czynniki [N-1] i dodać jedynkę
    (np. n=7 do postaci 1+2*3)
    - Powtarzać dopóki żadna z liczb nie jest większa od 5
    - Zsumować wszystkie liczby.

    Pytanie tylko czy jest to rozwiązanie optymalne? :)

    Pozdrawiam,
    Kiełpiś

    --
    Pieczło, jaszczągów maźnych rój Tomasz Kiełpiński
    Wiroświdrował na zegawie, a.k.a. "Kiełpiś"
    Błahudy był szczoptaków strój Odpowiadając prywatnie,
    I gwiczał świbłąk w trawie usuń: FALSZYWY z adresu

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: