Çalma dizileri: Polisler


10

Bu . Bu, Cops iş parçacığı. Soyguncular için buraya gidin .

Siteye katıldığımdan beri bir dizi OEIS (On-line Tamsayı Sıraları Ansiklopedisi) zorluğu fark ettim. Çevrimiçi tamsayı dizilerinin kim olduğunu bir kez ve herkes için belirleyen bir polisler ve soyguncular meydan okumamız olduğu sadece adil görünüyor.

Düzenleme: Önemsiz cevapları önlemek için, polisler kırık her başvuru için 1/2 puan kaybeder. Ayrıca, bu zorluğun amaçları doğrultusunda, sabit dizilere izin verilmez. Bu yalnızca bu düzenlemeden sonra yayınlanan çözümler için geçerlidir.

Polisler

Hiçbir giriş yapılmadığında, OEIS'ten herhangi bir diziyi kararlı bir şekilde basan bir program veya işlev yazın . Karakterlerin bazı alt kümelerini silerek, programınız aynı dilde çalıştırıldığında farklı bir OEIS dizisi yazabilmelidir. Yeni sekans, tamamen yeni olmalı, sadece ilk ad farklı bir adla veya farklı bir ofsetle değil. Her iki sekans da basitçe tekrarlanan sabit bir değer olamaz.

Doğruluğun doğrulanabilmesi için OEIS dizisinin adıyla birlikte ilk işlevi sağlamalısınız. Davranış dilinizin MAX_INT değeri veya 256 civarında hangisi daha büyükse sorgulanabilir olursa sorun olmaz.

soyguncuları

Yeni programınızın OEIS'ten başka bir sıra çıkardığı şekilde bazı Cop gönderimlerindeki karakterleri silin. Yeni işlevi, yeni OEIS dizisinin adıyla birlikte sağlayın. Burada , gönderiminizin geçerli olduğundan emin olmak için bir yardımcı program bulunmaktadır (yani, herhangi bir komik iş olmadan karakterleri siler. Dizinin kendisini kontrol etmez.)

Polisin gönderisinden olabildiğince çok karakter silmek sizin yararınıza olacaktır. Başka bir soyguncu (orijinal programı kaleme Cop hariç herkes) birlikte geliyor ve başka bulur kısa çözüm bulursa farklı diziyi, o hırsız açınızı çaldı. (Karakterleri golf oynamak ve aynı diziyi yazdırmak noktayı çalmak için yeterli değildir.)

Kurallar ve Puanlama

Bir hafta sonra hiç kimse çözümünüzü çözemediyse, ikinci programı oluşturduğu sıranın adıyla birlikte sağlayarak çözümünüzü güvenli olarak işaretleyebilirsiniz.

Her güvenli gönderi için bir puan ve kırdığınız her gönderi için bir puan alırsınız. Polisler her kırık başvuru için 1/2 puan kaybederler. Başka bir soyguncunun, farklı bir sekans veren daha kısa bir program sağlayarak herhangi bir zamanda çatlak gönderimden noktanızı çalabileceğini unutmayın.

Polisler dil başına, kişi başına sadece bir meydan okuma yayınlayabilir.

7 Temmuz saat 12:00 UTC'de en çok puanı alan oyuncu oyunu kazanır.



1
Bu zorluk son derece benzer. Ben dupe çekiç olmayacak, ama bence bu muhtemelen bir kopya.
FryAmTheEggman

1
@FryAmTheEggman ah, bunu görmedim. Ben çarpma mesafesi = / delesyonları ve soyguncular istenmeyen cevaplar bulmak için çok daha fazla yol var gibi bir dupe sanmıyorum, ama istediğimden daha benzer.
vroomfondel

1
Teşekkürler, @rogaos. İlk soruya beklediğim cevap buydu, bu yüzden endişelenmeyin. Polisler için birkaç fikrim var, umarım sabah çalışmak için birkaç dakika alırım.
Shaggy

3
Golf vs Levenstein mesafe bu önemli ölçüde farklı kılıyor düşünüyorum. Polisler büyük ölçüde farklı potansiyel çözümler düşünmelidir.
Nathan Merrill

Yanıtlar:



1

C, A000217, 239 bayt Kırık

Bu değil bu yüzden rahatsız etmedi.

#include <stdio.h>
#include <limits.h>
int main()
{
    int i, n, temp = 0;
    for(i = 0; i < INT_MAX; i++)
    {
        n = 0;
        temp = i;
        while(temp)
            n+=temp--;
        printf("%d, ", n);
    }
    return 0;
}

Sıra: https://oeis.org/A000217


1
@rogaos Bu koddan kırılan kod sabit değil (en azından farkında olduğum kod)
Govind Parmar

Soyguncunun rahatlığı için bayt olarak düzenlenmiştir.
Stephen


@rogaos Sanırım bunu sürekli yaparak benimkinden daha iyi kırılabilirdi, ama bence sürekli olmayan olmak daha ilginç, bu yüzden bunun sürekli kural için bir istisna olmaması için oy verirdim
nmjcman101

1
@ nmjcman101 yeterince adil, çünkü Govind sabit olmayı düşünmedi. Yukarıdaki yorumum siliniyor.
vroomfondel

1

Python 2, 273 bayt, kırık

Başlangıç ​​Dizisi: A004442

import zlib, base64;exec(zlib.decompress(base64.b64decode('eJzLtDUAAAHoANc=')))
while True:print eval(zlib.decompress(base64.b64decode('eJwzAgAAMwAz')))^eval(zlib.decompress(base64.b64decode('eJwzjssEAAHBAPs='))),;exec(zlib.decompress(base64.b64decode('eJzL1LY1BAAC1AED')))

Çevrimiçi deneyin!



2
mega çatlamış (sanırım)
Stephen

1

MOO, 86 bayt, güvenli

a=0;b=1;while(a>-1)a=$math_utils:sum(a,a);a=max(1,a);notify(player,tostr(a));endwhile

İkisinin güçlerini yazdırır (A000079).

Çözüm:

a = 1; (a> -1) a = $ math_utils: sum (a, a, a); bildir (oyuncu, tostr (a)); bitiş (bunun yerine 3'ün gücünü (A000244) yazdırır)


0

PHP , 20 bayt kırık

for(;;)echo+!$i,",";

Çevrimiçi deneyin!

baskı dizisi https://oeis.org/A000012


Orijinal sürümünüz bu sürümü kırıyor.
vroomfondel


İlki için aklınızda bir çözüm var mı? Eğer öyleyse, geri almalısınız.
vroomfondel

1
@rogaos, mevcut sürümü değiştirdiğini görmeden kırdım. Geri dönmek bir karışıklığa neden olur.
Peter Taylor

1
@rogaos Sabit bir değer döndüren dizileri yasaklamalısınız
Jörg Hülsermann

0

cQuents (daha eski işlem), 10 bayt, kırık

=0,1,1:z+y

Bu hala ağır bir WIP dilidir, ancak tercümanı yamaladım, böylece işe yaradı. Github bağlantısı için dil adını tıklayın.

Bu Fibonnacci dizisini verir: A000045

Açıklama:

(çünkü hiçbir dokümanım yok ve tercüman kodumu okumanızı beklemiyorum)

=0,1,1      Set start to [0,1,1]
      :     Mode: sequence
       z+y  Each term is the previous two terms added together
            Because there is no input, output the whole sequence

Sabit sekanslara hala izin verildiyse, bunu soymak çok kolay olurdu.



Bu dil mükemmel
vroomfondel

@rogaos henüz yapılmadı, hiçbir yere yakın değil, ama teşekkürler :)
Stephen
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.