Gå til innhold

Hjelp til FAST julenøtt =)


Anbefalte innlegg

Heisann =)

 

jeg har null peiling på C++ eller programmering, men veldig lyst på en X-box 360 til jul! Så jeg lurer derfor på om det er noen av dere som har peiling og lyst å hjelpe meg litt?

 

Oppgaven er som følger:

 

”Hva er formålet med funksjonen foo? Kan du med maks 5 setninger forklare både hvordan og hvorfor funksjonen foo fungerer for dette formålet?”

 

static boolean foo(int N) {

int i=0;

int M=(int)N/6;

while (i<M) {

if (bar(N)) {return false;}

N+=2*++i-1;

}

return true;

}

 

static boolean bar(int N) {

int i=0;

while (N>0) {

N-=2*++i-1;

}

return N==0;

}

 

 

Dette er som gresk for meg =) så om noen har lyst å hjelpe meg litt blir jeg gla!

 

Om dere derimot oppdager at dere kan dette og vil svare, men ikke minske vinnersjansene med å hjelpe andre er linken til oppgaven her:

 

http://salg.hardware.no/Fast/

 

uansett! takk for eventuell hjelp =)

 

og God Jul til alle =)

 

mvh :)

Lenke til kommentar
Videoannonse
Annonse
Svarene som blir sendt kommer visstnok uansett frem.)

7480331[/snapback]

 

Sendte du inn mail og fikk beskjed om at svaret ditt hadde blitt registrert til tross for feilmeldingen? Jeg svarte også og fikk samme feilmelding (med start.no mail.)

 

Forresten, lykke til i trekningen =) Skal man tro på karmalovene så vinner du nok, hehe =)

Lenke til kommentar
Her er svaret jeg sendte inn:

 

"Hensikten med funksjonen foo er å avgjøre om et gitt heltall N

a) er mindre enn 6, eller

b) ikke er et kvadrattall og at summen av N og et vilkårlig kvadrattall mindre enn (N/6)^2 ikke er et kvadrattall.

 

Et kvadrattall N=n^2 kan uttrykkes som summen av alle oddetall mindre eller lik n. Både foo og bar bruker denne egenskapen for å avgjøre om et heltall er et kvadrattall eller ikke."

 

Send inn og vinn en Xbox 360!

 

(Jeg vet ikke om dette gjelder alle som sender inn, men jeg fikk i alle fall følgende feilmelding: "Noe gikk galt, vennligst gi beskjed om dette til [email protected]". Svarene som blir sendt kommer visstnok uansett frem.)

7480331[/snapback]

 

 

Tror a) er feil hos deg.

 

M = (int)N/6;

 

Er ikke 0 for alle tall under 6, som du sikkert har tenkt. Det gir 0 for 0<N<=3 og 1 for 4<=N<6.

 

Så foo returnerer faktisk false på N=4.

 

Jeg vet ikke helt hva "formålet" til Foo er selv altså. Tenkte bare å påpeke en liten feil i svaret ditt..

 

Den tester jo summen av N og et økende oddetall for å se om det er et kvadratisk tall. Hvor mange oddetall den tester kommer an på størrelsen på N.

 

Ser ikke for meg noen som helst formål med denne algoritmen egentlig..ganske sære greier.

 

Selve oppgaven er jo veldig mye mer matematikk enn det er programmering.

Lenke til kommentar
Programmering ER mye matematikk, sånn er det bare.

7538416[/snapback]

 

øh...jobber som programmerer...og det er en myte at det er MYE matematikk.

 

På grunnivå er det gjerne en del, men ikke når du lager noe vettugt som vanlige folk kan bruke til noe. Som tekstbehandlere eller chatte-program.

Endret av Fangs78
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...