Karl_o [ APOCALYPSE ]
Programowanie w C# ---> jak sprawdzic czy dana liczba jest liczba pierwsza?
j.w. Glowie sie na tym juz od parunastu minut i nic konkretnego nie moge wymyslec, moze jakas pomoc? wskazowka? Bylbym wdzieczny...Z gory dzieki za odpowiedz. Pozdrawiam
Regis [ ]
Zgodnie z definicja liczby pierwszej, a jak bys chcial zrobic inaczej? Dzielisz ja modulo przez wszystkie liczby wieksze od 1 i mniejsze od jej pierwiastka i sprawdzasz wynik. Jesli ani razu nie dostaniesz zera (wynik dzielenia modulo = 0 oznacza ze jest dzielenie bez reszty, liczba nie moze byc pierwsza) Ew. jak umiesz, to mozesz zrobic tak zeby po sprawdzeniu dzielenia przez 2 nie sprawdzal juz parzystych liczb, a po podzieleniu przez 3 nie sprawdzal wielokrotnosci 3 itd.
_Robo_ [ Senator ]
"Wprowadzenie do algorytmow" Cormena i do roboty, nikt nie wyznacza liczb pierwszych potrzebnych np. do RSA przez sprwadzanie po kolei dzielnikow ob by to trwalo duuuzo za dlugo.
Karl_o [ APOCALYPSE ]
ehhhh... ok teraz juz rozumiem :)
P.S.
A powie mi ktos jeszcze jak sprawdzi czy dana liczba jest kwadratem liczby naturalnej?
_Robo_ [ Senator ]
policz pierwiastek i sprawdz czy wynik jest calkowity :)
Karl_o [ APOCALYPSE ]
no tak sęk w tym jak to zrobic?
P.S.
Dopiero zaczynam sie uczyc programowac stad te moje "banalne pytania"...
_Robo_ [ Senator ]
double number = 345345.454 ;
double result = Math.sqrt( number ) ;
P.S. google oraz dokumentacja klasy math
graf_0 [ Nożownik ]
służę :)
cplusplus.com to świetny opis bibliotek do c++ z tym że po angielsku, ale to nie powinno być zbytnim problemem.
Karl_o [ APOCALYPSE ]
Ehhhh... ja naprawde ucze sie dopiero podstaw jezyka C++
Mam narazie cos takiego:
#include <iostream>
using namespace std;
int main()
cout<<"Podaj jakas liczbe: ";
int x;
cin>>x;
float y;
y=sqrt(x);
.........
Co musze dalej zrobic?
Regis [ ]
Robo --> Podalem najprostsze do zaimplementowania i 'edukacyjne' rozwiazanie dla osoby uczacej sie programowac, Cormenem go nie strasz, bo sama objetosc moze przerazic :D