Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

C++ Program na zalke...


Rekomendowane odpowiedzi

Opublikowano

Witam mam taki zgryz ze zaliczenie w weekend a program myślałem ze bedzie dla mnie łatwiejszy ale nie ogarniam go..

jesli ktos wie jak to ugryżć prosze o pomoc ja czekając na pomoc też bede działać jak cos napisze to wrzuce:P

 

 

 

Napisz program znajdujący trzy mniejsze liczby naturalne n, takie, że pomiędzy n i n+10 nie ma żadnej liczby pierwszej

Opublikowano

Mam cos takiego:

 

program wypisujacy liczby pierwsze dwucyfrowe które po zamianie cyfr tez sa pierwsze

 

#include <iostream>

using namespace std;

bool pierwsze(int n)

{if (n%2==0 && n>2) return false;

for (int p=3; p*p<=n ; p+=2)

if (n%p==0) return false;

return true;

}

 

main()

{int i=0;

int j=0;

for (i=1;i<10;i++)

for(j=i;j<10;j++)

if(pierwsze(10*i+j) && pierwsze(10*j+i))

 

cout<<10*i+j<<" "<<10*j+i<<endl;

 

 

return 0;

}

Opublikowano

ja mam taką koncepcję

1. znajdź te liczby jakimś algorytmem tak jak wyżej.

2. Sprawdź zakres, tzn do ile sięga największe n+10

3. Zrób sito eratostenesa dla n+10

4. Wyszukuj ciągów 10 zer z rzędu w sicie

jedyny minus jaki w tym widze, to to, że trzeba podać zakres

Druga moja koncepcja wygląda tak samo, tylko, że robić sito dla jakiegoś m i po każdym przejściu powyższego algorytmu zwiększać m * 2 i wykonywać caly ten powyższy algorytm aż do uzyskania poprawnego wyniku.

Opublikowano
#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

vector<bool> seeve(int n)
{
   vector<bool>result(n);
   for(int i=2;i*i<=n;i++)
   {
       for(int j=2*i;j<=n;j+=i)
       {
           result[j] = true;
       }
   }
   return result;
}

int main()
{
   vector<bool>primes;
   vector<bool>::iterator it;
   bool pattern[] = {1,1,1,1,1,1,1,1,1,1};
   int n = 10;
   while(it == primes.end())
   {
       primes = seeve(n);
       it = search(primes.begin(),primes.end(),pattern,pattern+10);
       n+=10;
   }
   cout << (it-primes.begin()) << " " << (it-primes.begin())+1 << " " << (it-primes.begin())+2 << '\n';
   return 0;
}

Opublikowano

O ile wiem to juz w przedszkolu ucza czytania ze zrozumieniem.

 

Napisz program znajdujący trzy mniejsze liczby naturalne n, takie, że pomiędzy n i n+10 nie ma żadnej liczby pierwszej

 

Przeczytaj i zrozum.

 

zbior liczb pierwszych != zbioru liczb naturalnych, a p zawieraja sie w n. W szczegolnosci mozemy wykazac rownosc tych zbiorow korzystajac z pewnych praw, ale to dla Ciebie zbyt trudna matematyka.

Opublikowano

W szczegolnosci mozemy wykazac rownosc tych zbiorow

No chyba nie.

 

O ile wiem to juz w przedszkolu ucza czytania ze zrozumieniem.

Wydaje mi się, że jeszcze nawet w liceum, zważając na to jak wygląda teraz matura z polskiego...

Ta sygnatura jest pusta.

  • 1 miesiąc temu...

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...