Gizli Değiştirme Dizilerini Çözme


12

Bu bir meydan okuması, polisler iş parçacığını burada bulabilirsiniz .

Bu soyguncular iş parçacığı, burada işiniz polisler iş parçacığında gönderiler almak ve gizli dizileri bulmaya çalışmaktır. Geçerli bir çatlak olan bu diziyi hesaplamak için orijinal koda ikame edilebilecek herhangi bir dizi bulursanız. Lütfen cevaplarınızı güncelleyebilmeleri için polislerinize çatlaklarınızı bildirin.

puanlama

Puanınız yapmış olduğunuz başarılı çatlak sayısı olacak ve daha fazla çatlak daha iyi olacaktır.


Neden hırsızların polis dizisindeki # sırasını yorumlamasına izin vermiyorsun?
Lynn

5
@Lynn Soyguncuların cevapları kırmak için yaptıkları iş için yukarı oy alabilmeleri gerektiğini düşünüyorum. Bu nedenle iki iş parçacığı biçimini tercih ederim.
Ad Hoc Garf Hunter

Yanıtlar:




4

Python 3, yabanmersini

A018226

Orijinal kod, sıra adını bir yoruma ekler. Yorum muhtemelen kodu etkileyemediğinden, gizli dizinin orijinalin bir alt dizisi olması gerektiğini düşündüm. İlk çift terimlerin hızlı bir şekilde araştırılması A018226'yı getirdi. Bir alt dizi olduğundan kod her ikisi için de çalışır. Geriye bakarsanız A018226 orijinal dizinin sayfasında bile listelenir

A018226'daki sihirli sayı dizisini genellemenin bir yolu.


Amaçlanan çözüm buydu. Sıralamayı bir yorum yaparak insanların imkansız olduğunu düşünmelerini sağlamaya çalıştım.
pppery

@ppperry Yorum, onu veren şeydi :). Bunun bir alt dizi olması gerektiğini düşündüm. Yine de eğlenceli!
Ad Hoc Garf Hunter

Belki bunu daha iyi saklayabilirdim, ama yine de bu tür şeylerin tipik cevaplarına kıyasla ilginç bir bükülme; kod yerine sayılar hakkında.
pppery





3

Aferin! Onu ne verdi?
ბიმო

2
Modül işlemleri üretilen sekans sayısını sınırlar. Bu durumda 8 × 9 = 72. Böylece formülü bir e-tabloya ekledim ve hepsini oluşturdum. Sadece bir avuç sekans tüm terimler için tüm tamsayıları üretti ve bunlardan sadece tüm pozitif terimlere sahip sekanslar ilgi çekici olacağını tahmin etti. Daha sonra dizileri aramak ve referans numarasını tekrar takmak meselesiydi. Beş, üçünde karşılık gelen girişler vardı, üçüncüsü tüm girişler için çıkışlarla eşleşti.

Keşke 2
bölmeseydim




2

Python 3.6 , RootTwo

Orijinal olduğu A005843
kırık ile A001107

Çevrimiçi deneyin

Değerlendirilen kod orijinal (eksi yorumlar), n*2kırık sürümü 4*n*n-n*3.

Sözdizimi hatalarını, bildirilmemiş değişkenleri, sıfır bölümlerini vb. Filtreledikten sonra, kalan listeyi çalıştırmak çok uzun sürmedi. Sadece ilk birkaç sayıyı kontrol ettiğim için elle filtrelemek zorunda kaldığım birkaç yanlış pozitif (A004917 gibi) vardı, ama çok yaygın değildi.

Ayrıca, A040489 hesaplamaya çalışır n**3436485154-n, bu da beni biraz yavaşlattı. : P


Tebrikler. Bu kadar. Kaba zorladın mı? Ben bazı şeyler yavaş yavaş Python sonuç yanlış birkaç dizi kimliği yapmaya çalıştım, ama sanırım yeterli değil.
RootTwo

@RootTwo Çoğunlukla kaba kuvvet uyguladım. Orada başka buluşsal yöntemler de vardı, ama çok karmaşık bir şey yoktu. 1107'yi bulmak için birkaç dakika sürdü, yaklaşık 8'i 5843'e ulaştı. Merakla, 50000'e çıktım. Bu aralıkta başka maç yok. % 15-20'sinin geçerli python olduğunu tahmin ediyorum.
Phlarx

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.