Şimdi Ara

Basit ama zor sayılabilecek bir regex sorusu

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
1 Misafir - 1 Masaüstü
5 sn
1
Cevap
0
Favori
292
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Merhaba, lisede php dersi alıyoruz ve hocamız bize ekstradan bot yazılımları hakkında ders vermeye başladı. Ve haliyle regex ile ilgili her şeyi bilmemiz gerekiyor.
    Son hafta bir ödev vermişti fakat çözümünü yapmamıştı. Aslında basit bir soru ama benim bilgime göre zor. Kafaya taktım ama hayli zorlandım ve çözemedim. Soru şu şekilde;

    * Döngü sıfırdan başlayarak 7 karakterli tüm şifreleri üretecek (Yani sıfırdan 1 milyona kadarki sayılar)

    1 * Üretilen bu şifreler diziye aktarılacak fakat bu şifrelerden herhangi bir rakamı üç kez veya üçten fazla yan yana tekrar edenler diziye aktarılmayacak
    * Örneğin; '4000236' bu sayıda sıfırlar yan yana üç kez tekrar ettiği için kabul edilmeyecek
    * Örneğin: '1111834' bu sayıda birler yan yana dört kez tekrar ettiği için kabul edilmeyecek,
    * Aynı şekilde; '0000001' , '5555444' gibi sayılar da kabul edilmeyecek. Sanırım anladınız

    2 * Aynı şekilde; ifadenin içinde birden fazla geçen üç haneden fazla ifadelere sahip şifreler de dahil edilmeyecek.
    * Örneğin: '12312358' bu ifadede '123' iki kere tekrarlandığı için kabul edilmeyecek.
    * Örneğin: '25877258' bu ifadede '258' iki kere tekrarlandığı için kabul edilmeyecek.
    * Örneğin ifadenin 9 haneli olduğunu varsayarsak; '123451234' bu ifadede '1234' iki kere tekrarlandığı için kabul edilmeyecek.

    3 * Son olarak; yapı 7 karakterden fazla tüm ifadeler için geçerli olacak. Mesela 10 haneli şifrelerde de filtreleme için işe yarayacak.

    * Bunu regex ile çözmemiz istendi. Fakat makina fena kasıyor. 5 karakterlide sıkıntı çıkmıyor ama 7 de kasmaya başlıyor. 5 te çözüp 7 de bir kere test edilebilir.
    * Makina kasmaması için mümkün olduğu kadar az işlemle yapılmalı arkadaşlar.
    * Bu yüzden regex kullanılmalı, çekirdekte C kodu çalıştırdığı için yaklaşık 10 katı daha hızlı oluyor (belki daha fazladır).
    * Benim için ilk yıldızdaki hali de yeterli ama sorunun tamamını merak ediyorum. Çözebilen arkadaşlar varsa kendilerini kanıtlayabilir, mantık testi yapabilir geliştirebilirler :)

    Teşekkürler arkadaşlar



    < Bu mesaj bu kişi tarafından değiştirildi _ent -- 14 Temmuz 2015; 21:31:28 >







  • Yapay Zeka’dan İlgili Konular
    KOD YAZMAK ÇOK MU ZOR?
    12 yıl önce açıldı
    Daha Fazla Göster
    
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.