Liczby pierwsze od 1 do 100 w Javie: Wyświetl 1 do 100 w Javie

Opublikowany: 2021-02-08

Spis treści

Wstęp

Przede wszystkim zacznijmy od definicji liczby pierwszej. Mówi się, że liczba jest liczbą pierwszą, jeśli jest podzielna przez 1 i samą siebie. Gdybyśmy zostali poproszeni o wypowiedzenie liczb pierwszych od 1 do 100, byłoby żmudnym zadaniem sprawdzić każdą liczbę na papierze i powiedzieć, czy jest to liczba pierwsza, czy nie. Nieważne, że możemy napisać kod, który to zrobi, a java to ułatwia.

Java jest popularnym i jednym z najczęściej używanych języków, a powodem, dla którego jest w słoneczny dzień, jest dostarczanie funkcji, takich jak programowanie obiektowe, niezależność od platformy, predefiniowane biblioteki itp.

Zbudujmy kod do drukowania liczb pierwszych od 1 do 100 i przejdźmy przez niego. Zaczynajmy!

Program Java

Zanim przejdziemy do kodu, zrozumiemy algorytm sprawdzania, czy liczba jest liczbą pierwszą, czy nie. Najpierw musimy zapętlić wszystkie liczby od 1 do N i utrzymać liczbę liczb, która prawidłowo dzieli daną liczbę. Jeśli liczba wynosi 2, możemy wywnioskować, że podana liczba jest liczbą pierwszą, w przeciwnym razie nie jest liczbą pierwszą. Oto kod, który to zrobi.

intn = 5 ;
int c = 0 ;
dla ( int i= 1 ;i<=n;i++)
jeśli (n%i== 0 )
c++;
jeśli (c== 2 )
System.out.println(n+ ” to liczba pierwsza” );
w przeciwnym razie
System.out.println(n+ ” nie jest liczbą pierwszą” );

W powyższym fragmencie n jest liczbą, którą należy sprawdzić, czy jest liczbą pierwszą, czy nie, c jest zmienną przechowującą liczbę odpowiednich dzielników. Zapętlamy się w zakresie od 1 do n i zwiększamy liczbę, jeśli znaleźliśmy właściwy dzielnik.

A po wyjściu z pętli sprawdzamy, czy liczba wynosi 2 tj; są tylko dwa właściwe dzielniki (1 i samo). Jeśli tak, podając ją jako liczbę pierwszą, w przeciwnym razie liczbę inną niż pierwsza. Mówiąc o złożoności czasowej powyższego kodu jest to kod liniowy, więc jest to kod złożoności O(n).

Teraz, gdy poproszono nas o wydrukowanie liczb pierwszych od 1 do 100, musimy uruchomić ten sam algorytm dla każdej liczby od 1 do 100 i zapisać liczbę pierwszą. A oto kod, jak to zrobić.

ArrayList<Integer> a= new ArrayList<>();
dla ( int n= 1 ; n<= 100 ; n++){
int c = 0 ;
dla ( int i = 1 ; i <= n; i++)
jeśli (n % i == 0 )
c++;
jeśli (c == 2 )
dodaj(n);
w przeciwnym razie
kontynuuj ;
}
System.out.println(a);

W powyższym kodzie zadeklarowaliśmy ArrayList, który przechowuje wszystkie liczby pierwsze z zakresu od 1 do 100. Teraz mamy dwie pętle for pierwsza pętla for służy do przechodzenia przez wszystkie liczby od 1 do 100, a druga pętla for to nasz poprzedni algorytm liczb pierwszych. Po uruchomieniu algorytmu liczb pierwszych dla każdej liczby wstawiamy ją do ArrayList, jeśli jest to liczba pierwsza.

Sprawdź: Wynagrodzenie programisty Java w Indiach

A po zakończeniu pętli wypisujemy naszą ArrayList, która wyświetla wszystkie liczby pierwsze od 1 do 100. Mówiąc o złożoności czasowej powyższego kodu, widzimy, że są dwie pętle for. Jest to więc kod złożoności O(n²).

Zakodowaliśmy na sztywno zakres w powyższym kodzie, co jeśli chcemy wydrukować liczby pierwsze z zakresu podanego przez użytkownika?

Liczby pierwsze w podanym zakresie wejściowym

Cały algorytm będzie prawie podobny do powyższego kodu, jedyną różnicą, jaką robimy, jest przyjmowanie danych wejściowych użytkownika dla dolnej i górnej granicy zakresu.

Zbudujmy teraz kod!

Scanner sc=nowy skaner(System.in);
int niższy=sc.nextInt();
int górna=sc.nextInt();
ArrayList<Integer> a=new ArrayList<>();
for(int n=niższa; n<=górna; n++){
int c = 0;
dla (int i = 1; i <= n; i++)
jeśli (n % i == 0)
c++;
jeśli (c == 2)
dodaj(n);
w przeciwnym razie
kontyntynuj;
}
System.out.println(a);

W powyższym kodzie inicjujemy skaner do odczytu danych wejściowych użytkownika. Zadeklarowaliśmy dwie zmienne dolną i górną i przypisaliśmy te zmienne za pomocą danych wejściowych użytkownika. Musimy wypisać wszystkie liczby pierwsze z zakresu [dolny, górny]. Nasz poprzedni algorytm wykonuje to zadanie i dołącza wszystkie liczby pierwsze do tablicy ArrayList.

Przeczytaj także: Pomysły i tematy projektów Java

Ucz się kursów rozwoju oprogramowania online z najlepszych światowych uniwersytetów. Zdobywaj programy Executive PG, Advanced Certificate Programs lub Masters Programs, aby przyspieszyć swoją karierę.

Wniosek

Zrozumieliśmy definicję liczb pierwszych, przeszliśmy przez algorytm, aby sprawdzić, czy liczba jest liczbą pierwszą, czy nie, rozszerzyliśmy ten algorytm, aby znaleźć liczby pierwsze od 1 do 100. A później użyliśmy skanera java do odczytu danych wejściowych użytkownika dla podkręcając zakres liczb, które mają być sprawdzone, czy są one pierwsze, czy nie, zbudował algorytm drukowania liczb pierwszych w zakresie podanym przez użytkownika.

Teraz, gdy już wiesz, jak sprawdzić, czy liczba jest liczbą pierwszą, czy nie, jak wydrukować liczby pierwsze w danym zakresie. Spróbuj zaimplementować kilka wyzwań, takich jak implementacja za pomocą funkcji, implementacja za pomocą obiektów, budowanie algorytmu za pomocą rekurencji, spróbuj użyć kilku innych kolekcji w java, spróbuj trochę zoptymalizować kod, jeśli to możliwe, itp. Ponieważ praktyka pomaga w opanowaniu języka programowania , pomaga w przezwyciężaniu niejednoznaczności dotyczących składni i implementacji.

Jeśli chcesz poprawić swoje umiejętności w języku Java, musisz zdobyć te projekty Java. Jeśli chcesz dowiedzieć się więcej o Java, programowaniu z pełnym stosem, sprawdź program Executive PG UpGrad i IIIT-B w zakresie tworzenia pełnego stosu oprogramowania, który jest przeznaczony dla pracujących profesjonalistów i oferuje ponad 500 godzin rygorystycznych szkoleń, ponad 9 projektów i zadania, status absolwentów IIIT-B, praktyczne praktyczne projekty zwieńczenia i pomoc w pracy z najlepszymi firmami.

Co to są liczby pierwsze?

Co to są sita Eratostenesa?

Sito Eratostenesa to starożytny grecki algorytm do znajdowania liczb pierwszych. Algorytm znany jest ze swojej prostoty i wydajności, w tym sensie, że jest dość szybki jak na swoje czasy, a mimo to bardzo dobrze daje liczby pierwsze. Algorytm działa poprzez wyeliminowanie wszystkich wielokrotności każdej liczby pierwszej z liczb złożonych, zaczynając od wielokrotności 2 i kończąc na wielokrotnościach N (N to ostatnia liczba, dla której chcesz znaleźć liczby pierwsze). Eratostenes był greckim matematykiem i uważany był za założyciela biblioteki Aleksandryjskiej w Egipcie. Jest dobrze znany z obliczania obwodu Ziemi i jej średnicy.

Czym są struktury danych i algorytmy?

Struktura danych to sposób przechowywania danych, dzięki któremu program komputerowy może je pobierać i modyfikować. Struktura danych to abstrakcja języka programowania. Może być jednostką samą w sobie lub częścią innej jednostki danych. Mogą to być dane same w sobie lub może to być mechanizm dostępu do innych danych i manipulowania nimi. Struktura danych składa się z definicji danych, typu danych, zawartości i operacji, które można zastosować do zawartości. Algorytmy to szczegółowe procedury rozwiązywania problemów z komputerem. Każdy algorytm to sekwencja działań, które doprowadzą do rozwiązania problemu.