pametne glavice..jel mi može ko promijeniti ovaj kod da moj kemije epruvetić radi??hvala
zadatak glasi:
Kemije Epruvetić, zli znanstvenik, stvorio je novu vrstu virusa "Q01MUV" koji živi 3 dana, te se razmnožava za faktor 6 dnevno. Drugim riječima, od jednog virusa dnevno nastane njih 6, a uz njih ostane i on sam ako to nije njegov 3. (posljednji) dan života.
Napišite program koji učitava prirodne brojeve p i n, te ispisuje koliko virusa će biti n-ti dan eksperimenta ako ih nulti dan ima točno p i svi su novi (tj. stari su nula dana i umrijet će tek 3. dan).
Uputa: Ovaj zadatak najlakše je riješiti dvostrukom rekurzijom (dvije funkcije koje pozivaju jedna drugu). Možete napisati jednu funkciju koja vraća koliko je novih virusa nastalo u n-tom danu, te jednu koja vraća koliko virusa ukupno ima na kraju n-tog dana (tj. nakon nastanka novih i odumiranja starih virusa).
kod je :
#include<stdio.h>
int virusi(int p, int n, int proslo, int pocetno){
int i;
if(n<0)return 0;
if(proslo>=3){
p=p-(virusi(pocetno, proslo-3, 0, pocetno)-virusi(pocetno, proslo-3-1, 0, pocetno));
}
if(proslo==n)return p;
else {
/* printf("%d. %d\n", proslo, p); */
return virusi(p+p*6, n, proslo+1, pocetno);
}
}
int main(){
int p,n;
scanf("%d %d", &p, &n);
printf("%d", virusi(p, n, 0, p));
return 0;
}
pametne glavice..jel mi može ko promijeniti ovaj kod da moj kemije epruvetić radi??hvala
zadatak glasi:
Kemije Epruvetić, zli znanstvenik, stvorio je novu vrstu virusa "Q01MUV" koji živi 3 dana, te se razmnožava za faktor 6 dnevno. Drugim riječima, od jednog virusa dnevno nastane njih 6, a uz njih ostane i on sam ako to nije njegov 3. (posljednji) dan života.
Napišite program koji učitava prirodne brojeve p i n, te ispisuje koliko virusa će biti n-ti dan eksperimenta ako ih nulti dan ima točno p i svi su novi (tj. stari su nula dana i umrijet će tek 3. dan).
Uputa: Ovaj zadatak najlakše je riješiti dvostrukom rekurzijom (dvije funkcije koje pozivaju jedna drugu). Možete napisati jednu funkciju koja vraća koliko je novih virusa nastalo u n-tom danu, te jednu koja vraća koliko virusa ukupno ima na kraju n-tog dana (tj. nakon nastanka novih i odumiranja starih virusa).
kod je :
#include<stdio.h>
int virusi(int p, int n, int proslo, int pocetno){
int i;
if(n<0)return 0;
if(proslo>=3){
p=p-(virusi(pocetno, proslo-3, 0, pocetno)-virusi(pocetno, proslo-3-1, 0, pocetno));
}
if(proslo==n)return p;
else {
/* printf("%d. %d\n", proslo, p); */
return virusi(p+p*6, n, proslo+1, pocetno);
}
}
int main(){
int p,n;
scanf("%d %d", &p, &n);
printf("%d", virusi(p, n, 0, p));
return 0;
}
_________________
|