Wątek przeniesiony 2017-01-24 10:26 z JavaScript przez Ktos.

Instrukcja warunkowa w java

0

Witam! Jaka musi zostać spełniona instrukcja warunkowa żeby program wypisywał tylko liczy pierwsze? pierwsze to takie co się dzielą tylko przez siebie i 1. Proszę o pomoc.

2

W jaki sposób sprawdziłbyś na kartce czy liczba jest pierwsza?

0

Na temat odpowiadaj w postach.
To teraz to zaprogramuj ;-)

0

Jak już zaimplementujesz naiwne podejście pomyśl o usprawnieniach:

  1. Czy zawsze musisz sprawdzać do N-tej liczby? Okazuje się, że nie. Przykładowo: możesz podzielić przez 100 liczbę 101, aby sprawdzić, że jest liczbą pierwszą, ale wystarczy jak będziesz sprawdzał do sufitu z zaokrąglonego pierwiastka z tej liczby tj. w przypadku 101 wystarczy sprawdzać do 11 włącznie.
  2. Czy w ww. przypadku musisz dzielić przez wszystkie liczby od 2 do 11? Dzielenie przez 4 czy 6 jest niepotrzebne, bo już 2 i 3 sprawdziły taką podzielność- innymi słowy: dziel tylko przez liczby pierwsze.
0

Zrobiłem coś takiego i mi nie do końca wypisuje te liczby pierwsze. Generalnie wszystko mam dobrze tylko w 10 linijce zamiast tego sqrt trzeba coś innego dać tylko ja nie wiem co, pomóżcie:

 package z1;
import static java.lang.Math.*;
public class Main {
    public static void main(String[] args) {
        int[] tab = new int [100];
        boolean Lpierwsza;
 for(int i=1; i<=100; i++)
       {
           Lpierwsza = true;
           for(int j=2; j<sqrt(i); j++)
           {
               if(i%j==0)
               {
                   Lpierwsza = false;
                   j=i;
               }
           }
           if(Lpierwsza)
           {
               System.out.println(i);
           }
       }
    }
}
2

for(int j=2; j<=sqrt(i); j++)
(znak <= zrobi Ci dobrze)

poza tym - Java to nie JavaScript

0

Dzięki serdeczne za pomoc, temat do zamknięcia :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1