Skocz do zawartości
elpresspl

Formuła w EXCEL`u

Rekomendowane odpowiedzi

Ludzi pomozcie, musze na jutro zrobic zadania z Infy.

Mianowicie brzmi ono tak:

"Majac liczby z zakresu od 4999 do 2 wyznacz ktore z tych liczb sa liczbami pierwszymi i policz ile jest liczb pierwszych".

Mam to zrobic w EXCEL`u. Moze ktos wie jak sie do tego zabrac.

POMOCY!!!!

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

heh zrobienie czegos takiego w pascalu czy c to ja rozumie ale excel mnie rozlozyl calkowicie i jeszcze ten zakres liczb. na excelu za bardzo sie nie znam ale wydaje mi sie, ze mozna by zrobic to stosujac zawarty w excelu autofiltr tworzac przy jego pomocy makro, ktore stosujac kolejne ustawienia filtru eliminowaloby liczby metoda sita eratostenesa, ktorej opis mozesz znalezc na pasman.republika.pl metoda bardzo 'lopatologiczna' i czasochlonna (ma sens dla malego zakresu liczb) dlatego sadze ze jedynym sensownym rozwiazaniem jest napisanie skryptu, ktory by to realizowal przy uzyciu wspomnianej wyzej metody 'sita' (niestety tutaj to ja wysiadam). jesli mozesz to wrzuc rozwiazanie tego problemu na tweaka, bo jest ciekaw w jaki sposob to zrobic. zycze powodzenia :)

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

ja bym to zrobił metodą "na chama" - tabela 2-4999 na 2-4999 a na przecięciu sprawdzanie czy dzielenie jednego przed drugie ma resztę. potem tylko dla każdej liczy sprawdzenie czy jest takie dzielenie bez reszty i masz wszystkie pierwsze. no chyba, że kolesiowi chodziło o zrobienie tego w VB podpiętym do Excela. swoją drogą debilne zadanie.

Pozdrawiam

M.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

ja bym to zrobił metodą "na chama" - tabela 2-4999 na 2-4999 a na przecięciu sprawdzanie czy dzielenie jednego przed drugie ma resztę. potem tylko dla każdej liczy sprawdzenie czy jest takie dzielenie bez reszty i masz wszystkie pierwsze. no chyba, że kolesiowi chodziło o zrobienie tego w VB podpiętym do Excela.

2 uwagi do glosu maluszka:

1. wystarczy chyba tabelka prostokatna 5000x2500 bo zadna liczba nie podzieli sie przez liczbe wieksza niz jej polowa

2. to i tak niewiele pomoze bo Excel (przynajmniej 97) moze pracowac tylko na 256 kolumnach. Pozniejsze wersje maja wiecej?

 

Ja (przy zalozeniu, ze mam tylko 256 kolumn) bym to robil stopniowo:

1 Robie tabelke, gdzie w kolumnie A wale liczby do sprawdzenia, a w wierszu 1 liczby od 2 do np 128 - dzielniki. Wewnątrz formulka "=dzielenie-floor(dzielenie)"

2 W kolumnie za tabelka funkcja countif zliczajaca w wierszach wystąpienia 0.

3 Filtruje liste po kolumnie z countifami wylapujac 0 - w ten sposob uzyskasz linie w ktorych nie udalo sie podzielic przez zadna z liczb z zakresu 2-128

4 Wszystkie wyfiltrowane I mniejsze od 128 to liczby pierwsze

5 Kopiuje TYLKO wyfiltrowane i wieksze od 128 do drugiego arkusza i powtarzam operacje (wracam do kroku 1) dla zakresu dzielnikow np 129-256

 

Metoda mlotkowa i nie sprawdzona w praktyce, ale mysle, ze pierwszy, (gora dwa pierwsze) krok odsieje Ci ogromna wiekszosc liczb i zostana nieliczne, ktore bedziesz mogl juz potraktowac metoda maluszka - bo sie zmieszcza

Powodzenia :D

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

Ładowanie


×
×
  • Dodaj nową pozycję...