Poslao: 02 Nov 2014 21:57
|
offline
- vasa.93
- Moderator foruma
- Pridružio: 17 Dec 2007
- Poruke: 14824
- Gde živiš: Niš
|
Okej. I koji je uslov da broj bude prost?
|
|
|
Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
|
|
Poslao: 02 Nov 2014 22:04
|
offline
- Miloš CG
- Super građanin
- Pridružio: 23 Maj 2011
- Poruke: 1069
|
vasa.93 ::Okej. I koji je uslov da broj bude prost?
Ne znam, bune me te dvije petlje u slučaju kada korisnik zadaje broj, zar i tad mora da program ide od 1 do N pa da koristim petlju?
|
|
|
|
Poslao: 02 Nov 2014 22:19
|
offline
- vasa.93
- Moderator foruma
- Pridružio: 17 Dec 2007
- Poruke: 14824
- Gde živiš: Niš
|
Miloš CG ::Ne znam, bune me...Ja zato rekoh ovo: vasa.93 ::Hajmo sada da promenimo pristup. Zaboravi ovaj zadatak koji imaš, i usredsredi se na pisanje zadatka (još jednom, može i kao zasebna funkcija) koji proverava da li je broj K prost broj. To je srž zadatka koji treba da uradiš. Kada to uradiš, zadatak koji imaš rešava se vrlo jednostavno (rešenje prektično već imaš). Imaš i uputstvo kako da proveriš da li je broj prost...Ali nema ko da sluša.
Miloše, ništa lično, ali mislim da se ne trudiš dovoljno. Previše vremena mi oduzima ovo ponavljanje objašnjenja iznova i iznova. I tebi i meni. Ponoviću objašnjenje još jednom: vasa.93 ::Broj K je prost ako nije deljiv ni sa jednim brojem manjim od njega samog, tj. od 2 do K-1, odnosno ako je deljiv samo sa 1 i sa samim sobom. ... Optimalnije rešenje je da pustiš petlju od 2 do K-1, i čim naiđeš na broj sa kojim je K deljiv zaključiš da K nije prost broj. Ako ne nađieš na takav broj, broj N je prost.Čime se isključujem iz ove teme sve dok ne bude konkretnih rezultata. Nemoj da se ljutiš, ali previše truda ulažem, a rezultat izostaje.
Sada je sve na tebi.
|
|
|
|
Poslao: 03 Nov 2014 15:24
|
offline
- Miloš CG
- Super građanin
- Pridružio: 23 Maj 2011
- Poruke: 1069
|
Evo ga, malo sa pogledao primjere na netu i sklopio ovo:
#include<stdio.h>
main()
{
int K,i,brojac=0;
printf("Unesi broj: ");
scanf("%d",&K);
for(i=2;i<=K/2;i++)
{
if(K%i==0){
brojac++;
}
}
if(brojac==0 && K!= 1)
printf("%d je prost broj.",K);
else
printf("%d nije prost broj.",K);
getch();
}
Sad mi je lako da promjenim da program traži ove brojeve od 2 do N
Imam još jedan zadatak da nađem brojeve koji odgovaraju pitagorinoj teoremi, tj. broj koji je jednak: a na kvadrat + b na kvadrat = c na kvadrat. Sad ću da probam da ga uradim pa da vidim kako će da mi ide
|
|
|
|
|
Poslao: 03 Nov 2014 17:00
|
offline
- Miloš CG
- Super građanin
- Pridružio: 23 Maj 2011
- Poruke: 1069
|
vasa.93 ::Ima i optimalnijih rešenja, ali to ti za sada nije bitno
Jel' misliš na kraći kod ili na bolju logiku zadatka?
|
|
|
|
Poslao: 03 Nov 2014 17:07
|
offline
- vasa.93
- Moderator foruma
- Pridružio: 17 Dec 2007
- Poruke: 14824
- Gde živiš: Niš
|
A šta ti misliš? Da li je sa stanovišta računara optimalnije ono rešenje koje ima kraći kod, ili ono rešenje koje se kraće/brže izvršava?
|
|
|
|
|
Poslao: 03 Nov 2014 17:26
|
offline
- vasa.93
- Moderator foruma
- Pridružio: 17 Dec 2007
- Poruke: 14824
- Gde živiš: Niš
|
Napisano: 03 Nov 2014 17:24
Ma šta da prepravljam, imam ja gotov kod odavno.
for (i = 2; i <= N; i++)
{
j = 2; br = 0;
while (j < sqrt(i) + 1 && br == 0)
{
if (i%j == 0)
br++;
j++;
}
if (br == 0)
printf("%d", i);
}
Dopuna: 03 Nov 2014 17:26
I da, ovo ti je za štampanje svih prostih brojeva od 2 do N, tj. baš ono što se traži u zadatku.
|
|
|
|
Poslao: 03 Nov 2014 17:30
|
offline
- Miloš CG
- Super građanin
- Pridružio: 23 Maj 2011
- Poruke: 1069
|
vasa.93 ::
while (j < sqrt(i) + 1 && br == 0)
I da, ovo ti je za štampanje svih prostih brojeva od 2 do N, tj. baš ono što se traži u zadatku.
Vidim, samo mi reci šta je ovo sqrt(i) i može li da se izbjegne, pošto to nismo učili u školu pa nas nastavnica optužuje da skidamo zadatke sa interneta.
|
|
|
|