wariacje bez powtorzen
Ostatnio zmodyfikowano 2017-11-18 09:04
TenTyp Temat założony przez niniejszego użytkownika |
wariacje bez powtorzen » 2017-11-17 17:03:00 Witam muszę napisać takowy program.
Napisz program znajdujący wszystkie liczby pierwsze, które można stworzyć z cyfr podanej liczby całkowitej. Przykład: pytamy ile liczb pierwszych można stworzyć z cyfr liczby 1379? Możemy znaleźć aż 31 liczb pierwszych „zanurzonych” w liczbie 1379. Uwaga: budując liczbę pierwszą możemy każdą cyfrę wziąć tylko raz.
Problem mój polega na tym, iż nie wiem jak sortować dowolnie długą liczbę ażeby otrzymać wszystkie możliwe kombinacje z liczby 1379 są to
1 3 7 9 13 17 19 31 37 39 71 73 79 91 93 97 137 139 173 179 193 197 317 319 371 379 391 397 1379 1397 1793 1937 1973 3179 3197 3719 3791 7139 7193 7319 7391 7913 7931 9137 9173 9317 9371 9713 9731
nie wiem jak się za to zabrać wpierw myślałem by uporządkować w pętli pętel, lecz pogubiłem się w tym całkowicie - już cały dzień kodzę i mam serdecznie dość. Istnieje jakiś zwięzły krótki algorytm porządkujący tak elementy ażeby można na nich operować ? |
|
darko202 |
» 2017-11-18 09:04:25 Algorytm wydaje mi się bardzo prosty, a nawet może być kilka różnych.
Ponieważ z 10 cyfr (0, 1,...,9) możesz zbudować 4 000 000 001 kombinacji, liczb które mogą być podejrzane o bycie liczbą pierwszą(ostatnia liczba to 1,3,7,9 i sama liczba 5). Odpadają algorytmy tworzenia bazy wszystkich możliwych kombinacji, a potem mozolnego sprawdzania czy jest to liczba pierwsza.
najszybszy wydaje się algorytm : * określamy największą możliwa liczbę X * używamy algorytmu szukania liczb pierwszych od 2 do X np. [a href="(http://www.algorytm.edu.pl/algorytmy-maturalne/badanie-czy-liczba-pierwsza.html:]
modyfikujemy go o sprawdzenie czy liczba którą chcemy zbadać na bycie pierwszą spełnia nasz warunek (zawiera wskazane liczby)
|
|
« 1 » |