Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Ce tip de monitor am nevoie pt of...

Resoftare camera supraveghere

Cu ce va aparati de cainii agresi...

Nu imi platiti coletul cu cardul ...
 Mi-au disparut amigdalitele ?

Exista vreun plan de terorizare p...

Schimbare adresa DNS IPv4 pe rout...

Recomandare Barebone
 Monede JO 2024

Suprasolicitare sistem electric

CIV auto import

Mutare in MOZAMBIC - pareri, expe...
 Scoatere antifurt airtag de pe ha...

Magnet in loc de clește pent...

Cumparat/Locuit in apartament si ...

Pot folosi sistemul PC pe post de...
 

Problema informatica

- - - - -
  • Please log in to reply
18 replies to this topic

#1
Bogdan24_

Bogdan24_

    Junior Member

  • Grup: Members
  • Posts: 104
  • Înscris: 11.09.2015
Nu pot sa imi dau seama cum se rezolva problema asta.

2. Pentru funcția f, definită alăturat, care este valoarea f(1711)? Dar f(23169)? (6p.)

int f(int n){
if (n==0) return 0;
else
if (n%2==0)
return n%10+f(n/10);
else return f(n/10);
}

Stiu ca rezolvarea era cu niste patratele in care puneai diferitele valori ale lui n. Ma puteti ajuta ?

#2
andreim77

andreim77

    Senior Member

  • Grup: Senior Members
  • Posts: 4,235
  • Înscris: 11.04.2006
da, patratelele caietului de matematica unde calculezi tu rezultatul :)

#3
jegmihai

jegmihai

    Senior Member

  • Grup: Senior Members
  • Posts: 11,536
  • Înscris: 03.09.2013

View PostBogdan24_, on 28 septembrie 2016 - 15:51, said:

Stiu ca rezolvarea era cu niste patratele in care puneai diferitele valori ale lui n.
Cred ca te referi la stiva.

N-ai mai rezolvat probleme de recursivitate pana acum?

#4
andreim77

andreim77

    Senior Member

  • Grup: Senior Members
  • Posts: 4,235
  • Înscris: 11.04.2006
imposibil sa nu fi rezolvat, la matematica o gramada de formule sunt recursive.

#5
jobist

jobist

    Senior Member

  • Grup: Senior Members
  • Posts: 2,746
  • Înscris: 23.04.2010
Din moment ce ai deja codul sursă al funcţiei problema e rezolvată! Pentru orice valoare n€Z poţi afla rezultatul lansând programul în execuţie pe un calculator.
Altfel: dacă n-ai calculator poţi să emulezi tu secvenţa de cod a funcţiei(adică să fii pe post de CPU).

#6
MarianG

MarianG

    be that as it may

  • Grup: Moderators
  • Posts: 31,441
  • Înscris: 10.08.2005
sau intelegi codul si iti dai seama ca este o suma de numere pare

#7
Bogdan24_

Bogdan24_

    Junior Member

  • Grup: Members
  • Posts: 104
  • Înscris: 11.09.2015

View Postjegmihai, on 28 septembrie 2016 - 15:59, said:

Cred ca te referi la stiva.

N-ai mai rezolvat probleme de recursivitate pana acum?

Nu, nu am mai rezolvat.

Daca se poate o rezolvare, dar si cu explicatie, multumesc.

#8
andreim77

andreim77

    Senior Member

  • Grup: Senior Members
  • Posts: 4,235
  • Înscris: 11.04.2006
rezolvarea e la tine. aplicand teoria pe care probabil inca nu o stapanesti.

#9
Rhesus

Rhesus

    Senior Member

  • Grup: Senior Members
  • Posts: 2,884
  • Înscris: 22.04.2014
int f(int n){
if (n==0) return 0;
else
if (n%2==0)
return n%10+f(n/10);
else return f(n/10);
}


Hai sa o traducem in limbaj natural. Nu mecanic, nu invata mecanic.

Daca un numar citit este 0, returnam 0 (adica iesim din functie)
  Altfel
Daca e par, la ultima cifra adunam rezultatul dat de aceeasi functie pentru numarul ,,taiat" la coada
Daca e impar, ...ce face?

Cand un numar este divizibil cu 2?

Nu e chestie de teorie. E doar de gandire. Pe scurt, ,,sare" peste cifrele impare, iar pe cele pare la aduna.

Edited by Rhesus, 28 September 2016 - 16:47.


#10
Bogdan24_

Bogdan24_

    Junior Member

  • Grup: Members
  • Posts: 104
  • Înscris: 11.09.2015

View PostRhesus, on 28 septembrie 2016 - 16:46, said:

int f(int n){
if (n==0) return 0;
else
if (n%2==0)
return n%10+f(n/10);
else return f(n/10);
}


Hai sa o traducem in limbaj natural. Nu mecanic, nu invata mecanic.

Daca un numar citit este 0, returnam 0 (adica iesim din functie)
  Altfel
Daca e par, la ultima cifra adunam rezultatul dat de aceeasi functie pentru numarul ,,taiat" la coada
Daca e impar, ...ce face?

Cand un numar este divizibil cu 2?

Nu e chestie de teorie. E doar de gandire. Pe scurt, ,,sare" peste cifrele impare, iar pe cele pare la aduna.

Daca e impar scapa de ultima cifra.

#11
andreim77

andreim77

    Senior Member

  • Grup: Senior Members
  • Posts: 4,235
  • Înscris: 11.04.2006

View PostRhesus, on 28 septembrie 2016 - 16:46, said:

Nu e chestie de teorie. E doar de gandire. Pe scurt, ,,sare" peste cifrele impare, iar pe cele pare la aduna.
cum gandesti o problema daca nu stii ce-i aia: recursivitate, numar par/impar, impartire de nr intregi, restul impartirii?

#12
Rhesus

Rhesus

    Senior Member

  • Grup: Senior Members
  • Posts: 2,884
  • Înscris: 22.04.2014
Intrebari ,,bonus":
- ce se intampla daca renuntam la ultimul else?
- ce se intampla daca pasam un numar negativ?
Asta inseamna active learning, si nu mecanic.

Chiar mai mult, ce se intampla daca (incerci) sa pasezi un string, catre functie? Ce ar fi daca...

View Postandreim77, on 28 septembrie 2016 - 16:53, said:

cum gandesti o problema daca nu stii ce-i aia: recursivitate, numar par/impar, impartire de nr intregi, restul impartirii?

Scuza-ma dar astea tin de matematica. Daca nici pe astea nu le cunoaste ..... atunci e grav.

#13
MarianG

MarianG

    be that as it may

  • Grup: Moderators
  • Posts: 31,441
  • Înscris: 10.08.2005

View Postandreim77, on 28 septembrie 2016 - 16:53, said:

cum gandesti o problema daca nu stii ce-i aia: recursivitate, numar par/impar, impartire de nr intregi, restul impartirii?
citesti materialul de curs

#14
andreim77

andreim77

    Senior Member

  • Grup: Senior Members
  • Posts: 4,235
  • Înscris: 11.04.2006
Rhesus,
pt moment cred ca scopul e sa inteleaga algoritmul si sa-si dezvolte gandirea algoritmica.
Normal, matematica e baza in orice domeniu tehnic. Deci teoria de baza.

Edited by andreim77, 28 September 2016 - 16:59.


#15
Bogdan24_

Bogdan24_

    Junior Member

  • Grup: Members
  • Posts: 104
  • Înscris: 11.09.2015

View PostRhesus, on 28 septembrie 2016 - 16:55, said:

Intrebari ,,bonus":
- ce se intampla daca renuntam la ultimul else?
- ce se intampla daca pasam un numar negativ?
Asta inseamna active learning, si nu mecanic.

Chiar mai mult, ce se intampla daca (incerci) sa pasezi un string, catre functie? Ce ar fi daca...

1. Daca renuntam la ultimul "else" algoritmul va afisa valoare doar daca numarul este par.
2. Nu stiu

#16
Rhesus

Rhesus

    Senior Member

  • Grup: Senior Members
  • Posts: 2,884
  • Înscris: 22.04.2014

View PostBogdan24_, on 28 septembrie 2016 - 16:59, said:

1. Daca renuntam la ultimul "else" algoritmul va afisa valoare doar daca numarul este par.
2. Nu stiu


Poate m-am exprimat eu gresit. Renunti doar la sintaxa ,,else". Doar cuvantul il scoti din context.

Edited by Rhesus, 28 September 2016 - 17:09.


#17
Bogdan24_

Bogdan24_

    Junior Member

  • Grup: Members
  • Posts: 104
  • Înscris: 11.09.2015

View PostRhesus, on 28 septembrie 2016 - 17:08, said:

Poate m-am exprimat eu gresit. Renunti doar la sintaxa ,,else". Doar cuvantul il scoti din context.

Chiar nu pot sa imi dau seama.

#18
Rhesus

Rhesus

    Senior Member

  • Grup: Senior Members
  • Posts: 2,884
  • Înscris: 22.04.2014
Putin ajutor:

Intre:
if (a<X) then ....
   else
	  if (a>X) then ...
		 else
		   if (a==X) then <INSTRUCTIUNE>


si

if (a<X) then ....
   else
	  if (a>X) then ...
		 else
			<INSTRUCTIUNE>


Este o diferenta?

Anunturi

Second Opinion Second Opinion

Folosind serviciul second opinion ne puteți trimite RMN-uri, CT -uri, angiografii, fișiere .pdf, documente medicale.

Astfel vă vom putea da o opinie neurochirurgicală, fără ca aceasta să poată înlocui un consult de specialitate. Răspunsurile vor fi date prin e-mail în cel mai scurt timp posibil (de obicei în mai putin de 24 de ore, dar nu mai mult de 48 de ore). Second opinion – Neurohope este un serviciu gratuit.

www.neurohope.ro

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate