Afişează mesaje
|
Pagini: 1 ... 11 12 [13]
|
305
|
infoarena - concursuri, probleme, evaluator, articole / Articole / Ciurul lui Eratostene
|
: Ianuarie 30, 2008, 19:34:28
|
Vreau sa intreb daca nu ar fi mai corect ca in a patra si a cincea bucata de cod, conditia de oprire a primului for sa fie ((i*i)<<2)+(i<<2)+1<=n in loc de ((i*i)<<1)+(i<<1)<=n? De la (2*i+1) 2. Asta de mai jos ar fi bucata a 4 din articol: //class PrimeNumbersSieve4 final int MAXSIZE = 1000000/2+1; char[] p = new char[MAXSIZE]; //p[i] == 0 if 2*i + 1 is prime public int getTheNumber(int n) { int i, j, nr = 1; for (i = 1; ((i * i) << 1) + (i << 1) <= n; i += 1) { if (p[i] == 0) { for (j = ((i * i) << 1) + (i << 1); (j << 1) + 1 <= n; j += (i << 1) + 1) { p[j] = 1; } } } for (i=1; 2 * i + 1 <= n; ++i) if (p[i] == 0) nr++; return nr; }
P.S. Problema(Patcas Csaba) : Sa se numere toti bitii egali cu 1 din reprezentarea binara a numerelor de la 1 la n? O(n)
|
|
|
312
|
infoarena - concursuri, probleme, evaluator, articole / Articole / Răspuns: Editare articole
|
: Ianuarie 10, 2008, 07:07:47
|
Mie nu imi merge. Mi-a mers o data dar nu am salvat pe calculator si acum nu mai pot deschide. [editare] Am gasit ceva. Am sters istoria, cokie-urile, si tot de la browser si acum am reusit sa downloadez. Se pare ca la download marcheaza faptul ca ai downloadat subiectul respectiv in temporary inteernet files si nu te mai lasa a doua oara.
|
|
|
320
|
infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 006 Factorial
|
: Octombrie 28, 2007, 16:35:34
|
o cautare binara scrisa ca la carte nu ar trebuii sa cicleze nici macar atunci cand nu are solutie. Deci in consecinta ai cam 2 variante: 1) iei un algoritm de cautare binara de pe net scris frumos si citet sa il intelegi (asta ar cam trebui sa mearga) 2) gasesti solutia fara cautare binara (care desi e cam idioata, e mai rapida(log5n))
cum e cu baza 5? eu mam gandit ceva cu log 2m*log 5n cu m=cu n pentru p=10 8
|
|
|
|