Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
VPN Romania!

Iar un topic despre achizitie tel...

Ce ghinion! Incendiu intr-un ...

Atentionare bord
 Recomandare dilutie finasterida s...

Mira feat. Vescan-Alo Alo

Samsung Galaxy S23 FE

Screen tearing pe orice browser (...
 Este muzica popcorn urata si in p...

Sfat achizitie laptop HP vs ASUS

Vopsire gard metal "Direct pe...

Cu ce spalam axila de transpiratie?
 O elipsa de arie minima circumscr...

sfat achizitie desktop arhitectura

Unde este placa cu relee de la fr...

Polita RCA
 

Program gasire numere ce insumate dau o anumita valoare

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

#1
greenlife

greenlife

    Active Member

  • Grup: Members
  • Posts: 1,927
  • Înscris: 29.07.2017
Salut. Daca puteti sa-mi dati un punct de plecare pentru un program ce sa faca ceea ce scrie in titlu.
De exemplu am suma de 24
Cum fac ca sa detectez de exemplu din 2 pagini de numere care dintre ele, insumate dau 24.
1, 2, 7, 4, 6, 8, 20, 1, 3, 19,..................................................
19+2+3=24. Un numar poate fi adunat o singura data.
Multumesc.

#2
sorin147

sorin147

    Senior Member

  • Grup: Senior Members
  • Posts: 5,898
  • Înscris: 11.08.2003
La 2 pagini ar trebui sa fie multe numere si,implicit, probabil si suma de cautat este mare => pica ideea de a le ordona crescator si sa incepi calculul de la numarul egal sau mai mic decat cel cautat.
Trebuie toate combinatiile sau macar una?
Logica (de balta) zice sa le aduni pe rand pana iti da ce trebuie: intai vezi daca numarul exista in lista, apoi aduni cate 2 numere, apoi cate 3 si tot asa => nu pare prea eficient dar (sper) ca face treaba
Aranjate iar si, Oarba dupa ele... cumva :)

Apropo, poti pune paginile aici si sa vedem ce (ne) iese?

#3
sags

sags

    Senior Member

  • Grup: Senior Members
  • Posts: 9,157
  • Înscris: 24.04.2013
Backtracking. Alta idee nu imi vine in minte acuma.

La pima impresie pentru a reduce timpul de rulare:
  • Sorteaza numerele crescator. In acest fel opresti adaugarea de numere cand suma celor existente depaseste suma asteptata si te intorci.
  • Calculeaza de la inceput suma tuturor numerelor. Daca e strict mai mica decat cea dorita clar nu exista solutie. Daca e egala iar e clar, ai o singura solutie care contine toate numerele, dar probabilitate sa fie asa e mica.
  • Compara suma dorita cu jumatatea sumei tuturor numerelor. Daca e mai mare, rezolva problema cu suma tuturor minus suma dorita in locul celei dorite. In acest fel scurtezi backtrackingul fiindca, oprindu-te cand suma numerelor de pana atunci e ai mare decat cea tinta, te vei opri mai devreme. Solutia pentru problema initiala este formata din celelalte numere decat cele din solutia gasita a problemei modificate.


#4
greenlife

greenlife

    Active Member

  • Grup: Members
  • Posts: 1,927
  • Înscris: 29.07.2017
Multam de sprijin. Ma apuc sa buchisesc. Într-adevăr sumele sunt mai mari iar întrările(numerele) sunt multe. Nu pot pune paginile cu ele fiindca au multe date personale.

Anunturi

Neurochirurgie minim invazivă Neurochirurgie minim invazivă

"Primum non nocere" este ideea ce a deschis drumul medicinei spre minim invaziv.

Avansul tehnologic extraordinar din ultimele decenii a permis dezvoltarea tuturor domeniilor medicinei. Microscopul operator, neuronavigația, tehnicile anestezice avansate permit intervenții chirurgicale tot mai precise, tot mai sigure. Neurochirurgia minim invazivă, sau prin "gaura cheii", oferă pacienților posibilitatea de a se opera cu riscuri minime, fie ele neurologice, infecțioase, medicale sau estetice.

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