👤

C++

1. Napisz program, który wypisze liczby pierwsze mniejsze niż 100.
2. Napisz program, który wypisze 30 początkowych liczb pierwszych.
3. Napisz program, który wypisze liczbę czynników pierwszych podanej liczby całkowitej dodatniej ​


Odpowiedź :

Odpowiedź:

#include <iostream>

using namespace std;

bool liczba_pierwsza(int n)

{

if(n<2)

 return false;  

 

for(int i=2;i*i<=n;i++) {

 

 if(n%i==0) {

  return false;

 }

}

 

return true;

}

int main() {

for(int i=0;i<=100;i++) {

 if(liczba_pierwsza(i)) {

  cout << "Liczba pierwsza to : " << i << endl;

 }

}

}  

^^ zad 1

#include <iostream>

using namespace std;

bool liczba_pierwsza(int n)

{

if(n<2)

 return false;  

 

for(int i=2;i*i<=n;i++) {

 

 if(n%i==0) {

  return false;

 }

}

 

return true;

}

int main() {

int i =1;

int x=0;

while(true) {

 x++;

 if(liczba_pierwsza(x) == true) {

  cout << x <<endl;

  i++;

   

 }

 if(i==31) {

  break;

 }

 

 }

 

}

^^ zad 2

Wyjaśnienie:

Odpowiedź

Proszę uprzejmie, oto wszystkie trzy zadania.

  1. Załącznik 1.
  2. Załącznik 2 oraz przykładowy wynik wykonania w 3. załączniku.
  3. Załącznik 4 oraz przykładowy wynik wykonania w 5. załączniku.

Wyjaśnienia

Funkcja   bool czyLiczbaPierwsza(int liczba)   jest taka sama we wszystkich trzech programach.

I w tej funkcji 7. linia kodu mogłaby być

   for (int dzielnik = 2; dzielnik < (int)sqrt(liczba); dzielnik++)

zamiast

   for (int dzielnik = 2; dzielnik < liczba; dzielnik++)

Użyłam trzech różnych funkcji ponieważ w ten sposób łatwiej jest zrozumieć co program robi.

Zobacz obrazek 0AB
Zobacz obrazek 0AB
Zobacz obrazek 0AB
Zobacz obrazek 0AB
Zobacz obrazek 0AB