Odpowiedź :
Odpowiedź:
#include <iostream>
//sprawdzamy czy liczba jest liczba pierwsza
//nie jest to najbardziej optymalna metoda, ale najłatwiejsza bo sprawdzamy
//liczbe dzielników liczby. Czy jest równa 2 czyli czy dzieli się przez 1 i samą siebie
bool isPrime(int n) {
int counter = 0;
for (int i = 1; i <= n; i++) {
if (n % i == 0) {
counter++;
}
}
return counter == 2;
}
//wyswitlamy liczny piewesze od 0 do n korzystajac z wczesniej napisanej funkcji
void printPrimes(int n) {
for (int i = 0; i <= n; i++) {
if (isPrime(i)) {
std::cout << i << " ";
}
}
std::cout << std::endl;
}
//suma liczb pierwszych od 0 do n z wykorzystaniem naszej funkcji
int primesSum(int n) {
int sum = 0;
for (int i = 0; i <= n; i++) {
if(isPrime(i)){
sum += i;
}
}
return sum;
}
bool isTwin(int n){
return isPrime(n) && isPrime(n + 2);
}
//wyświetla pierwsza liczbę z pary liczb bliżniaczych od 0 do n
void printTwin(int n){
for(int i = 0; i < n - 1; i++){
if(isTwin(i)){
std::cout << i << std::endl;
}
}
}
int main() {
printPrimes(10);
std::cout << primesSum(7) << std::endl;
printTwin(43);
return 0;
}
Wyjaśnienie:
Nie wiem czy o to chodziło, ale takie mam wrażenie