Welcome, Guest. Please login or register.

Autor Subiect: Project Euler  (Citit de 3086 ori)

0 Membri şi 1 Vizitator vizualizează acest subiect.

automat

  • Vizitator
Project Euler
« : Aprilie 20, 2012, 09:12:29 p.m. »
Va salut.

Problema propusa pe http://projecteuler.net/problem=13 cere sa se determine primii 10 digiti ai sumei urmatoarelor 100 de numere fiecare avand 50 de digiti.
Numerele fiind asa de mari, nu exista tip de data care sa le poata memora.
Se poate rezolva folosind fisiere ?
Multumesc.

HarapAlb

  • Vizitator
Răspuns: Project Euler
« Răspuns #1 : Aprilie 20, 2012, 10:35:16 p.m. »
S-a mai discutat tipul asta de problema. In loc sa folosesti fisiere poti folosi o structura de date special definita in memorie.

Offline AlexandruLazar

  • Senior
  • ****
  • Mesaje postate: 1752
  • Popularitate: +95/-17
Răspuns: Project Euler
« Răspuns #2 : Aprilie 20, 2012, 10:36:46 p.m. »
Eşti sigur că nu există? Nu par atât de multe şi de mari -- dar cu siguranţă nu poţi folosi un tip de date unitar. Îţi trebuie un tip compus (e.g. un vector în care reţii separat cifrele) şi pe care să implementezi algoritmul de adunare. Asta ar fi metoda naivă, probabil există vreo scamatorie matematica prin care să nu ai nevoie să faci efectiv tot calculul, dar cu siguranţă nu sunt omul potrivit pentru asta  ;D.

Vezi că mai e un topic pe tema asta pe-aici.