Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Jednostavni Algoritam

[es] :: Art of Programming :: Jednostavni Algoritam

Strane: 1 2

[ Pregleda: 2075 | Odgovora: 21 ]

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

McKnight
Gordon Cindrić
Vinkovci

Član broj: 94745
Poruke: 18
*.adsl.net.t-com.hr.

Sajt: ferretquest.bloger.hr


Profil

icon Jednostavni Algoritam16.06.2008. u 15:32

Pozdrav ekipa!

Pripremam se za na fakultet pa me muci jedan zadatak iz podrucja algoritama a glasi ovako:

Koji će broj ispisati ovaj algoritam:



Rezultat je broj 512 ali me zanima kako se dodje do tog broja, pa eto ako bi to netko znao pa da napise.
Izvinjavam se unaprijed ako sam topic napisao u pogresnu kategoriju, pregledao sam "Programiranje" pa reko idem napisati ovdje :)
Hvala unaprijed!
16.06.2008. u 15:32 

Aleksandar Ružičić
Aleksandar Ružičić
Junior Developer, Spoonlabs d.o.o
20°27'46'' - 44°48'8''

SuperModerator
Član broj: 26939
Poruke: 2352
*.dynamic.adsl.itsisp.net.

Jabber: krckoorascic@gmail.com
Sajt: krcko.net


Profil

icon Re: Jednostavni Algoritam16.06.2008. u 15:55
ako analiziramo algoritam:

- na pocetku su x = 1 i y = 0
- za i = 1: x = x + y => 1, y = x => 1
- za i = 2: x = x + y => 2, y = x => 2
- za i = 3: x = x + y => 4, y = x => 4
- za i = 4: x = x + y => 8, y = x => 8
- za i = 5: x = x + y => 16, y = x => 16
- za i = 6: x = x + y => 32, y = x => 32
- za i = 7: x = x + y => 64, y = x => 64
- za i = 8: x = x + y => 128, y = x => 128
- za i = 9: x = x + y => 256, y = x => 256
- za i = 10: x = x + y => 512, y = x => 512

mislim da bi ovo moderatori trebali da prebace u Art of Programming....
16.06.2008. u 15:55 

McKnight
Gordon Cindrić
Vinkovci

Član broj: 94745
Poruke: 18
*.adsl.net.t-com.hr.

Sajt: ferretquest.bloger.hr


Profil

icon Re: Jednostavni Algoritam16.06.2008. u 18:53
Totalno mi je jasnije sada. Hvala ti sto si mi to sve tako fino napisao :)
Imam jos jedan malo kompliciraniji za koji se nisam ni trudio da ga rijesim jer nisam znao ovaj pa cu ga napisati sutra u ovaj topic jer knjiga trenutno nije kod mene a sutra ce bit. Zato bi molio moderatore da ne lockaju topic, pa da sutra napisem reply sa tim drugim zadatkom.
16.06.2008. u 18:53 

McKnight
Gordon Cindrić
Vinkovci

Član broj: 94745
Poruke: 18
*.adsl.net.t-com.hr.

Sajt: ferretquest.bloger.hr


Profil

icon Re: Jednostavni Algoritam19.06.2008. u 09:58
Eto ga i drugi, malo kompliciraniji zadataka. Pa ako bi netko znao rijesiti, bio bih vam zahvalan.



U ovom zadatku, mislim da je rezultat 385.
19.06.2008. u 09:58 

S_3_ka
Nebojša Stričević
Sombor - Novi Sad

Član broj: 48863
Poruke: 22
*.static.sbb.rs.



Profil

icon Re: Jednostavni Algoritam20.06.2008. u 14:26
Malo poduži odgovor, ali nadam se da je jasnije...

Code:

i = 1
        y = 0
                j = 1   y = y + i => y = 1
        x = x + y => x = 1
i = 2
        y = 0
                j = 1   y = y + i => y = 2
                j = 2   y = y + i => y = 4
        x = x + y => x = 5
i = 3
        y = 0
                j = 1   y = y + i => y = 3
                j = 2   y = y + i => y = 6
                j = 3   y = y + i => y = 9
        x = x + y => x = 14
i = 4
        y = 0
                j = 1   y = y + i => y = 4
                j = 2   y = y + i => y = 8
                j = 3   y = y + i => y = 12
                j = 4   y = y + i => y = 16
        x = x + y => x = 30
i = 5
    y = 0
        j = 1    y = y + i => y = 5
        j = 2    y = y + i => y = 10
        j = 3    y = y + i => y = 15
        j = 4    y = y + i => y = 20
        j = 5    y = y + i => y = 25
    x = x + y => x = 55
i = 6
    y = 0
        j = 1    y = y + i => y = 6
        j = 2    y = y + i => y = 12
        j = 3    y = y + i => y = 18
        j = 4    y = y + i => y = 24
        j = 5    y = y + i => y = 30
        j = 6    y = y + i => y = 36
    x = x + y => x = 91
i = 7
    y = 0
        j = 1    y = y + i => y = 7
        j = 2    y = y + i => y = 14
        j = 3    y = y + i => y = 21
        j = 4    y = y + i => y = 28
        j = 5    y = y + i => y = 35
        j = 6    y = y + i => y = 42
        j = 7    y = y + i => y = 49
    x = x + y => x = 140
i = 8
    y = 0
        j = 1    y = y + i => y = 8
        j = 2    y = y + i => y = 16
        j = 3    y = y + i => y = 24
        j = 4    y = y + i => y = 32
        j = 5    y = y + i => y = 40
        j = 6    y = y + i => y = 48
        j = 7    y = y + i => y = 56
        j = 8    y = y + i => y = 64
    x = x + y => x = 204
i = 9
    y = 0
        j = 1    y = y + i => y = 9
        j = 2    y = y + i => y = 18
        j = 3    y = y + i => y = 27
        j = 4    y = y + i => y = 36
        j = 5    y = y + i => y = 45
        j = 6    y = y + i => y = 54
        j = 7    y = y + i => y = 63
        j = 8    y = y + i => y = 72
        j = 9    y = y + i => y = 81
    x = x + y => x = 285
i = 10
    y = 0
        j = 1    y = y + i => y = 10
        j = 2    y = y + i => y = 20
        j = 3    y = y + i => y = 30
        j = 4    y = y + i => y = 40
        j = 5    y = y + i => y = 50
        j = 6    y = y + i => y = 60
        j = 7    y = y + i => y = 70
        j = 8    y = y + i => y = 80
        j = 9    y = y + i => y = 90
        j = 10    y = y + i => y = 100
    x = x + y => x = 385

"Kakav je to čovek koji ne čini svet boljim?"
20.06.2008. u 14:26 

McKnight
Gordon Cindrić
Vinkovci

Član broj: 94745
Poruke: 18
*.adsl.net.t-com.hr.

Sajt: ferretquest.bloger.hr


Profil

icon Re: Jednostavni Algoritam20.06.2008. u 21:26
Hvala S_3_ka, puno mi je sada jasnije. U biti nije toliko ni komplicirano samo trebas skuziti shemu po kojoj ide.

Idem sad probat sam rijesiti neke takve zadatke. Pozdrav!
20.06.2008. u 21:26 

Predrag Supurovic
DataVoyage, wireless.uzice.net
Užice

Član broj: 157129
Poruke: 1646
77.46.253.*

Sajt: pedja.supurovic.net


Profil

icon Re: Jednostavni Algoritam21.06.2008. u 06:17
Mislim da je kod ovih zadataka poenta ne da izvrsis program nego da "izracunas" rezultat.
Sta bi da u zadatku brojac ne ide do 10 nego do 100 ili 1000?
21.06.2008. u 06:17 

S_3_ka
Nebojša Stričević
Sombor - Novi Sad

Član broj: 48863
Poruke: 22
*.dynamic.sbb.rs.



Profil

icon Re: Jednostavni Algoritam21.06.2008. u 08:25
Citat:
Predrag Supurovic: Mislim da je kod ovih zadataka poenta ne da izvrsis program nego da "izracunas" rezultat.
Sta bi da u zadatku brojac ne ide do 10 nego do 100 ili 1000?

Pa... To je manje više isti zadatak. Da bi izračunao rezultat treba da izvršiš program.
"Kakav je to čovek koji ne čini svet boljim?"
21.06.2008. u 08:25 

McKnight
Gordon Cindrić
Vinkovci

Član broj: 94745
Poruke: 18
*.adsl.net.t-com.hr.

Sajt: ferretquest.bloger.hr


Profil

icon Re: Jednostavni Algoritam21.06.2008. u 11:42
On vjerovatno misli da bi iz toga trebalo postaviti nekakvu jednadzbu koja bi to izracunala bez obzira koliko "i"-jeva ima. Ako bi bilo od 1 pa do 1000 kao što Predrag kaže, to bi bio opak posao za ispisati, da bi na kraju dobio rezultat. Nemam puno iskustva s takvim zadatcima ali cini mi se da bi se to mozda moglo nekako rijesiti nekom vrstom aritmetickog ili geometrijskog niza.
21.06.2008. u 11:42 

mmix
Miljan Mitrovic
Software Architect
Pancevo, Srbija

SuperModerator
Član broj: 17944
Poruke: 2408
*.eunet.yu.



Profil

icon Re: Jednostavni Algoritam21.06.2008. u 12:20
Matematicka jednacin za ovaj zadatak je prosta



Medjutim, bar koliko ja vidim ne postoji analiticki oblik x(k) za ovu dvostruku sumu. Mora iterativno.
▪ The quicker a phone is answered in sales, the slower it's answered in customer services - Brownridge's Law
▪ Democracy is a device that ensures we shall be governed no better than we deserve - George Bernard Shaw
▪ To err is human--and to blame it on a computer is even more so - Robert Orben
Prikačeni fajlovi
21.06.2008. u 12:20 

McKnight
Gordon Cindrić
Vinkovci

Član broj: 94745
Poruke: 18
*.adsl.net.t-com.hr.

Sajt: ferretquest.bloger.hr


Profil

icon Re: Jednostavni Algoritam21.06.2008. u 12:28
Oces reci, da za ovaj gore prvi algoritam mozes postaviti jednadzbu a za ovaj drugi, koji ima dvije varijable ne mozes?
21.06.2008. u 12:28 

mmix
Miljan Mitrovic
Software Architect
Pancevo, Srbija

SuperModerator
Član broj: 17944
Poruke: 2408
*.eunet.yu.



Profil

icon Re: Jednostavni Algoritam21.06.2008. u 12:52
Citat:
McKnight: Oces reci, da za ovaj gore prvi algoritam mozes postaviti jednadzbu a za ovaj drugi, koji ima dvije varijable ne mozes?
Ova jednacina je i bila za drugi zadatak, imas dve petlje, dakle dve sume.

Al odmah da demantujem sebe, drugi zadatak moze da se pojednostavi:



Znaci svodi se na sumu kvadrata iteratora. Malo lici na fibonacija, ali nije zato sto se sabiraju kvadrati, a ja bar ne znam za prostu formu konance sume kvadrata. Ako nista, bar smo izbacili jednu petlju
▪ The quicker a phone is answered in sales, the slower it's answered in customer services - Brownridge's Law
▪ Democracy is a device that ensures we shall be governed no better than we deserve - George Bernard Shaw
▪ To err is human--and to blame it on a computer is even more so - Robert Orben
Prikačeni fajlovi
21.06.2008. u 12:52 

S_3_ka
Nebojša Stričević
Sombor - Novi Sad

Član broj: 48863
Poruke: 22
89.216.113.*



Profil

icon Re: Jednostavni Algoritam21.06.2008. u 14:04
Verovatno se neki deo zadataka može rešiti i izračunavanjem korišćenjem nizova, ali pošto se radi o prijemnom ispitu za fakultet, verovatno su zadaci takvi da se mogu rešiti "izvršavanjem" algoritma i takvom rešavanju su i namenjeni. Tako da sumnjam da će iteratori (ili više nijh) biti u nekom velikom opsegu, jer se gubi smisao zadatka.
"Kakav je to čovek koji ne čini svet boljim?"
21.06.2008. u 14:04 

McKnight
Gordon Cindrić
Vinkovci

Član broj: 94745
Poruke: 18
*.adsl.net.t-com.hr.

Sajt: ferretquest.bloger.hr


Profil

icon Re: Jednostavni Algoritam21.06.2008. u 14:28
Ma da, i jos su odgovori ponudjeni ispod, a i nema negativnih bodova. Treba samo malo razmislit.
21.06.2008. u 14:28 

Nedeljko
Nedeljko Stefanovic

Član broj: 314
Poruke: 2943
195.222.97.*



Profil

icon Re: Jednostavni Algoritam07.07.2008. u 19:51
. Za rezultat je .
07.07.2008. u 19:51 

Nedeljko
Nedeljko Stefanovic

Član broj: 314
Poruke: 2943
195.222.97.*



Profil

icon Re: Jednostavni Algoritam07.07.2008. u 20:21
Čik da neko izračuna formulu za ovo (pod pretpostavkom da tip int nema ograničenja, to jest, da može da predstavi svaki ceo broj)

Code:

#include <iostream>

using namespace std;

int main()
{
    int i,j,k,n,s,s0;

    cout << "Unesi prirodan broj " << flush;
    cin >> n;
    s = 0;
    s0 = 0;

    for (i=1; i<=n ; i=i+1)
    {
        s = s + n;
        s0 = s0 + n;

        for (j=1; j<=s0; j=j+1)
        {
            s = s + n*j;

            for (k=1; k<=(i+j)*s0; k=k+1)
            {
                s = s + k + s0;
            }
        }
    }

    cout << "Rezultat je " << s << endl;

    return 0;
}


Priznaje se i ako neko da postupak kojim se može naći formula.

[Ovu poruku je menjao Nedeljko dana 08.07.2008. u 17:28 GMT+1]
07.07.2008. u 20:21 

Nedeljko
Nedeljko Stefanovic

Član broj: 314
Poruke: 2943
*.dynamic.sbb.rs.



Profil

icon Re: Jednostavni Algoritam08.07.2008. u 08:03
Ako bude zainteresovanih, objavicu resenje. Ko ovo resi (ili bar razume resenje), moze da resi svaki zadatak ovog tipa.
08.07.2008. u 08:03 

mmix
Miljan Mitrovic
Software Architect
Pancevo, Srbija

SuperModerator
Član broj: 17944
Poruke: 2408
*.eunet.yu.



Profil

icon Re: Jednostavni Algoritam08.07.2008. u 09:23
Ajd okaci (daj i postupak), ja sam dobio nesto sasvim suludo, ali definitivno sume imaju rekurzivne parametre, i nisam bas siguran kako dalje




▪ The quicker a phone is answered in sales, the slower it's answered in customer services - Brownridge's Law
▪ Democracy is a device that ensures we shall be governed no better than we deserve - George Bernard Shaw
▪ To err is human--and to blame it on a computer is even more so - Robert Orben
Prikačeni fajlovi
08.07.2008. u 09:23 

Nedeljko
Nedeljko Stefanovic

Član broj: 314
Poruke: 2943
*.dynamic.sbb.rs.



Profil

icon Re: Jednostavni Algoritam08.07.2008. u 11:40
Sada nemam mnogo vremena, pa cu okaciti samo jedan deo, a nastavak cu drugi put.

Neka je . Izracunajmo .

Lako se dokazuje da je za bilo koji niz . Dokaz se moze izvesti indukcijom po , a moze se i primetiti da se svi ostali clanovi medjusobno pokrate. Iz tog razloga je

, .

Razvijajuci to po binomnoj formuli je

,

odnosno , odnosno . Odatle dobijamo rekurentne formule

, .

Obe su ravnopravne. Koja ce se koristiti, stvar je ukusa. Pritom se zna da je . Tako je na primer

,

.
08.07.2008. u 11:40 

Nedeljko
Nedeljko Stefanovic

Član broj: 314
Poruke: 2943
*.dynamic.sbb.rs.



Profil

icon Re: Jednostavni Algoritam08.07.2008. u 14:02
Sad treba ici od unutra ka spolja. Petlja

Code:

for (k=1; k<=(i+j)*s0; k=k+1)
{
    s = s + k + s0;
}


je ekvivalentna kodu

Code:

u = (i+j)*s0
for (k=1; k<=u; k=k+1)
{
    s = s + k + s0;
}


gde je u neka nova promenljiva, jer se vrednost izraza koji opisuje gornju granicu indeksa ne menja unutar petlje. Petlja

Code:

for (k=1; k<=u; k=k+1)
{
    s = s + k + s0;
}


Je ekvivalentna sa

Code:

s = s+u*s0;
for (k=1; k<=u; k=k+1)
{
    s = s + k;
}


odnosno sa

Code:

s = s+u*s0;
s = s+u*(u+1)/2;


Dakle, celu petlju sa pocetka mozemo sabiti u jednu liniju
Code:

s = s+(i+j)*s0*s0+(i+j)*s0*((i+j)*s0+1)/2;


pa je nas program ekvivalentan sa

Code:

#include <iostream>

using namespace std;

int main()
{
    int i,j,k,n,s,s0;

    cout << "Unesi prirodan broj " << flush;
    cin >> n;
    s = 0;
    s0 = 0;

    for (i=1; i<=n ; i=i+1)
    {
        s = s + n;
        s0 = s0 + n;

        for (j=1; j<=s0; j=j+1)
        {
            s = s + n*j;
            s = s+(i+j)*s0*s0+(i+j)*s0*((i+j)*s0+1)/2;
        }
    }

    cout << "Rezultat je " << s << endl;

    return 0;
}


odnosno sa

Code:

#include <iostream>

using namespace std;

int main()
{
    int i,j,k,n,s,s0;

    cout << "Unesi prirodan broj " << flush;
    cin >> n;
    s = 0;
    s0 = 0;

    for (i=1; i<=n ; i=i+1)
    {
        s = s + n;
        s0 = s0 + n;

        for (j=1; j<=s0; j=j+1)
        {
            s = s+n*j+(i+j)*s0*s0+(i+j)*s0*((i+j)*s0+1)/2;
        }
    }

    cout << "Rezultat je " << s << endl;

    return 0;
}


To be continued...

[Ovu poruku je menjao Nedeljko dana 08.07.2008. u 17:30 GMT+1]
08.07.2008. u 14:02 

[es] :: Art of Programming :: Jednostavni Algoritam

Strane: 1 2

[ Pregleda: 2075 | Odgovora: 21 ]

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.