Šta je novo?

Napraviti da svaki clan niza bude deljiv sa K

thetomica

Poštovan
Učlanjen(a)
11.03.2017
Poruke
72
Poena
59
Pozdrav imam problem oko jednog zadatka... Treba da svaki član iz dobijenog niza namestim da bude deljiv sa datim K. A to treba da uradim pomoću dve operacije: 1) niz += x - x kreće od 0.

A druga operacija je x+=1.

Evo slike postavke zadatka kako biste bolje razumeli...
I slike onoga što sam probao da uradim do sada.
 

Prilozi

  • Zadatak 1 -  Zero Remainder Array.JPG
    Zadatak 1 - Zero Remainder Array.JPG
    66.8 KB · Pregleda: 158
  • 108169864_739730456793315_4152014307119976515_n.jpg
    108169864_739730456793315_4152014307119976515_n.jpg
    41.6 KB · Pregleda: 142
A zar nisi mogao da na liniji 16 samo napises niz += x


Sent from my iPhone using Tapatalk
 
Ti ovde imaš fiksni broj koraka, 10. Ne znam zašto. Pored toga, može da se desi da na isti član niza više puta dodaješ broj x. Što je manji redni broj člana, veća je šansa da se to desi.
Evo kako bih ja to uradio, pri čemu ne znam da li je to algoritam koji daje minimalni broj poteza.
1. Ukloniš sve članove niza koji su u startu deljivi sa K.
2. Sortiraš članove niza od najmanjeg do najvećeg. (za ovo nisam siguran da je neophodno, ali možeš da probaš sa i bez)
3. Ponavljaš sledeći korak dok niz ne bude bio prazan:
4. Radiš ono što imaš u programu: tražiš prvi član niza koji je deljiv sa K kada mu se doda x.
4.1. Ako postoji takav član, ukloniš ga iz niza i povećaš x.
4.2. Ako ne postoji takav član, samo povećaš x.

Broj prolaza kroz tačke 4.1 ili 4.2 daje broj koji se traži.
Mislim da nema potrebe da imaš posebnu funkciju za dodavanje broja nekom elementu niza. Štaviše, nema potrebe ni da računaš to. U zadatku se traži broj koraka za transformaciju niza, a ne čemu će da budu jednaki elementi niza na kraju.
 
Nazad
Vrh Dno