Citat: |
Napišite program koji učitava cijele brojeve sve dok se ne učita nula.
Program treba ispisati najmanji parni i najveći neparni od učitanih brojeva (osim nule). Ako nije učitan niti jedan parni ili neparni broj, treba ispisati poruku o tome. |
Kod: |
n=input()
brp=0 brn=0 mip=n mxn=0 while(n!=0): if(n%2==0): brp=brp+1 if(n<mip): mip=n else: brn=brn+1 if(n>mxn): mxn=n n=input() if(brp==0): print "Nije ucitan niti jedan paran broj!", mxn elif(brn==0): print mip, "Nije ucitan niti jedan neparan broj!" else:print mip, mxn |
lost_soul (napisa): |
Imam dva pitanja vezana uz prošlogodišnji kolokvij:
1. U prvom zadatku, pod c) treba zapisati binarni "decimalni" broj kao razlomak. Da li se to radi obrnutim postupkom od onog opisanog u skripti (razlomak smo pretvarali u binarni decimalni) ili nekako drugačije? |
lost_soul (napisa): | ||||
2. U trećoj grupi sedmi zadatak glasi:
Imam problem jer ne znam kako dobiti najmanji parni. Dobro mi ispisuje za najveći neparni i slučajeve kad nisu učitani ni neparni ni parni pa čak i za neke slučajeve najmanjeg parnog. No uvijek se nađe neki primjer kad ne ispisuje dobro. Npr. za ulaz: 1 8 11 4 13 16 8 10 7 85 0, ispisuje: 1 i 85. Ovdje je i moj kod:
Znam da je vjerojatno problem u inicijalizaciji varijable ili tom dijelu programa, ali ne znam kako promijeniti ![]() |
Kod: |
n=input()
brp=0 brn=0 while(n!=0): if(n%2==0): brp=brp+1 if(brp==1 or n<mip): mip=n else: brn=brn+1 if(brn==1 or n>mxn): mxn=n n=input() if(brp==0): print "Nije ucitan niti jedan paran broj!" else: print "Najmanji paran je ", mip if(brn==0): print "Nije ucitan niti jedan neparan broj!" else: print "Najveci neparni je ", mxn |
lost_soul (napisa): |
Imam dva pitanja vezana uz prošlogodišnji kolokvij:
1. U prvom zadatku, pod c) treba zapisati binarni "decimalni" broj kao razlomak. Da li se to radi obrnutim postupkom od onog opisanog u skripti (razlomak smo pretvarali u binarni decimalni) ili nekako drugačije? |
vinko (napisa): | ||
Pa isto kao s normalnim brojevima. Npr. prva grupa: (101.1101)_2 = 1*2^2 + 1*2^0 prije točke, a iza nje 1*2^-1 + 1*2^-2 + 1*2^-4, ili vam je lakše razumijeti da ćete ovo iza decimalne točke gledati kao normalni binarni broj (1101)_2 pa to podijeliti sa 2^4. Da li to znači da je rješenje tog zadatka 80/13 u bazi 10 za jednu grupu odnosno 96/11 u bazi 10 za drugu grupu?? Ili sam ja to nešto krivo izračunao? Hvala. |
Kod: |
učitaj x
poz <- 999999999999 neg <- -999999999999 ako je x>0 onda poz <- x ako je x<0 onda neg <- x dok je x!=0 radi ako je (x>0) i (x<poz) onda poz <- x ako je (x<0) i (x>neg) onda neg <- x učitaj x ako je poz=999999999999 onda ispiši "Nije učitan niti jedan pozitivan broj." inače ispiši "Najmanji učitani pozitivni broj je poz." ako je neg=-999999999999 onda ispiši "Nije učitan niti jedan negativan broj." inače ispiši "Najveći učitani negativni broj je neg." |
Kod: |
ako je x>0 onda
ako je poz=0 ili x<poz onda poz<-x inace ako je neg=0 ili x>neg onda neg<-x |
Citat: |
4. Napišite program koji učitava prirodan broj n i ispisuje znamenke od n u sustavu s bazom 5. Opišite rad programa za ulaz n = 190. |
Kod: |
ako je m=1 onda ispiši "1" inače d <- 2 prvi <- 0 dok je prvi=0 radi ako je m mod d = 0 onda ispiši "Traženi prost broj je d." prvi <- prvi + 1 d <- d + 1 ako je (prvi=0) onda ispiši "1" |
Citat: |
Napišite program koji učitava prirodan broj n i ispisuje sve
djelitelje od n koji su kvadrati. Ako ne postoji niti jedan takav djelitelj, treba ispisati poruku o tome. |
Spectre (napisa): | ||
Probaj prvo Euklidov algoritam pa potom rastav na proste faktore, no u njega ubaci neki kôd kojim će rastav (i ispis) prestati kada se nađe prvi (najmanji) prosti faktor.
Npr.
Napomena: Euklidov algoritam postavi m kao NZD, stoga je u rastavu na proste faktore (iz skripte) potrebno promijeniti n u m. |
Spectre (napisa): |
Možda se radilo o previdu ili trik pitanju pa su studenti morali shvatiti da uvijek moraju ispisati 1. ![]() Jer, po mom shvaćanju ovog zadatka, ne postoji slučaj kada ne postoji takav djelitelj. |
Citat: |
4. Napišite program koji učitava prirodan broj n i ispisuje znamenke od n u sustavu s bazom 5. Opišite rad programa za ulaz n = 190. |
Kod: |
učitaj n
s← 0 za i = 1,...,n radi učitaj k ako je (k mod 2) = 0 onda s <-- s+k ispiši s |
Kod: |
učitaj n
s← 0 za i = 1,...,n radi učitaj k ako je (k mod 2) = 0 onda s<-- s+k ispiši s |
output generated using printer-friendly topic mod. Vremenska zona: GMT + 01:00.