Jak rozpoznać powtarzające się liczby? |
Jak rozpoznać powtarzające się liczby? |
26.09.2013, 19:31:01
Post
#1
|
|
Grupa: Zarejestrowani Postów: 240 Pomógł: 2 Dołączył: 5.12.2010 Skąd: Fulda Ostrzeżenie: (0%) |
Witam, mam pytanie, jak rozpoznać dzięki php powtarzające się liczby?
Przykład: 5679854356798543567985435679854356798543 Teraz aby php zamieniło na: 56798543,56798543,56798543,56798543,56798543 Próbowałem dużo rzeczy, ale nie umiałem sobie poradzić, proszę o pomoc. -------------------- Moje serwisy: services.itunix.eu | spytajsie.com
Server: Debian; Desktop: Mac Mini 10.8.1, ArchLinux XFCE |
|
|
26.09.2013, 19:34:08
Post
#2
|
|
Grupa: Zarejestrowani Postów: 3 033 Pomógł: 366 Dołączył: 24.05.2012 Ostrzeżenie: (0%) |
wyrażeniem regularnym?
|
|
|
26.09.2013, 19:42:03
Post
#3
|
|
Grupa: Zarejestrowani Postów: 476 Pomógł: 96 Dołączył: 10.04.2008 Skąd: Koszalin Ostrzeżenie: (0%) |
Ups nie przeczytałem dokładnie co miało być na wyjściu, powyższy kod wyeliminuje duplikaty tylko. Ten post edytował pitu 26.09.2013, 19:44:08 -------------------- |
|
|
26.09.2013, 20:23:39
Post
#4
|
|
Grupa: Zarejestrowani Postów: 23 Pomógł: 2 Dołączył: 31.10.2008 Ostrzeżenie: (0%) |
Witaj,
Nie wiem do czego chcesz tego używać ale ja spróbowałbym przelecieć ten ciąg str_replace i "543" zamienić na "543," Przykład:
Albo tak jak kolega wyżej napisał wyrażenia regularne. --- Pozdrawiam S.N |
|
|
26.09.2013, 20:53:17
Post
#5
|
|
Grupa: Zarejestrowani Postów: 731 Pomógł: 141 Dołączył: 9.05.2011 Skąd: śląskie Ostrzeżenie: (0%) |
@up
Tak możesz zrobić, gdy znasz ciąg znaków, po którym następuje powtórzenie. @autor Mało precyzyjne dane. 1. Czy ciąg wejściowy jest zawsze tej samej długości? 2. Czy ciąg wyjściowy ma zawsze tą samą ilość elementów o stałej długości? Ten post edytował mar1aczi 26.09.2013, 20:56:57 -------------------- Szanuj innych czas! Kliknij , gdy pomocną wskazówkę otrzymasz.
|
|
|
26.09.2013, 20:55:12
Post
#6
|
|
Grupa: Zarejestrowani Postów: 240 Pomógł: 2 Dołączył: 5.12.2010 Skąd: Fulda Ostrzeżenie: (0%) |
Witaj, Nie wiem do czego chcesz tego używać ale ja spróbowałbym przelecieć ten ciąg str_replace i "543" zamienić na "543," Przykład:
Albo tak jak kolega wyżej napisał wyrażenia regularne. --- Pozdrawiam S.N A skąd mam wiedzieć, co mam zamienić w $liczby? str_replace($liczby,"$liczby.','",$ciag); Chce aby php samo znalazło powtarzające się liczby w dość długiej liczbie i pokazało mi powtarzające się liczby. 45678908767576565456789087675765654567890876 by wyswietliło 4567890876, 7576565 -------------------- Moje serwisy: services.itunix.eu | spytajsie.com
Server: Debian; Desktop: Mac Mini 10.8.1, ArchLinux XFCE |
|
|
26.09.2013, 21:25:32
Post
#7
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) |
Bierzesz ramkę powiedzmy 3 cyfry i przeszukujesz cały ciąg wypisując do tablicy kombinacje wyszukane i licznik ile razy było znalezione.
Potem zwiększasz ramkę o 1 cyfrę i jedziemy od początku Przede wszystkim jakiej długości minimalnie ma być ciąg który się może powtórzyć? Ten post edytował Pyton_000 26.09.2013, 21:26:42 |
|
|
26.09.2013, 21:45:31
Post
#8
|
|
Grupa: Zarejestrowani Postów: 46 Pomógł: 7 Dołączył: 6.01.2012 Ostrzeżenie: (0%) |
Bierzesz ramkę powiedzmy 3 cyfry i przeszukujesz cały ciąg wypisując do tablicy kombinacje wyszukane i licznik ile razy było znalezione. Potem zwiększasz ramkę o 1 cyfrę i jedziemy od początku Przede wszystkim jakiej długości minimalnie ma być ciąg który się może powtórzyć? To też chciałem zaproponować, ale przelatywanie cyfr od 0 do 999 jest trochę mało wydajne, a co dopiero przy większej ilości. Na pewno ma to sens, jeśli szukamy max 2-cyfrowej liczby. W przypadku dłuższych ciągów nie wiem, czy nie wydajniej byłoby zrobić 'suwak' obejmujący ileś tam liczb. 1) Najpierw "odcinamy" cyfry (od pozycji 0 do 4) i robimy z nich wzorzec; 2) Przelatujemy wzorcem ciąg i wypisujemy powtórzenia; 3) Robimy nowy wzorzec przesunięty o 1 (odcinamy od pozycji 1 do 5 w ciągu) i znowu porównujemy; 4) I tak do skutku. Przerywamy, gdy rozpiętość wzorca przekroczy długość badanego ciągu. Coś w ten deseń:
Ten post edytował stud3nt 26.09.2013, 21:55:17 |
|
|
Wersja Lo-Fi | Aktualny czas: 25.04.2024 - 12:52 |