Saltine Mücadelesi


23

İşte bir ASCII tuzlu kraker :

 _________________
|  .     .     .  |
|     .     .     |
|  .     .     .  |
|     .     .     |
|  .     .     .  |
|_________________|

İşte iki kraker yığılmış:

 _________________
|  .     .     .  |
|     . __________|______
|  .   |  .     .     .  |
|     .|     .     .     |
|  .   |  .     .     .  |
|______|     .     .     |
       |  .     .     .  |
       |_________________|

Olumlu bir tamsayı alan ve o kadar çok ASCII tuzlu kraker istifini çizebilecek mümkün olan en kısa programı yazın.

Giriş, stdin'den, komut satırından gelebilir veya sadece bir işlev yazabilirsiniz. Giriş her zaman geçerli olacaktır. Çıktı stdout'a veya en yakın alternatife gitmelidir.

Her istiflenmiş kraker her zaman 2 karakter aşağı ve krakerin altından 7 karakter aşağı kaydırılır. Sonda boşluk veya yabancı yeni satır olmamalıdır.

Bayt cinsinden en kısa program kazanır.

Örnekler

Girdi 1çıktı ise

 _________________
|  .     .     .  |
|     .     .     |
|  .     .     .  |
|     .     .     |
|  .     .     .  |
|_________________|

Girdi 2çıktı ise

 _________________
|  .     .     .  |
|     . __________|______
|  .   |  .     .     .  |
|     .|     .     .     |
|  .   |  .     .     .  |
|______|     .     .     |
       |  .     .     .  |
       |_________________|

Girdi 3çıktı ise

 _________________
|  .     .     .  |
|     . __________|______
|  .   |  .     .     .  |
|     .|     . __________|______
|  .   |  .   |  .     .     .  |
|______|     .|     .     .     |
       |  .   |  .     .     .  |
       |______|     .     .     |
              |  .     .     .  |
              |_________________|

Ve bunun gibi.

gerçek tuzlu mücadelesi


1
Aşağıdaki krakerin ana hatları, üstündeki ana hatları nasıl geçersiz kılar?
Gurur haskeller

1
Calvin'sHobbies @: yığılmış kraker üst sınır olmasının nedeni o en sorgulama düşünüyorum ___|___yerine _______. İkincisi olsaydı garip görüneceğini tahmin ediyorum
Claudiu

2
@Claudiu Oh. Evet, mükemmel değil ama diğer tarafa daha garip görünüyor.
Calvin'in Hobileri

6
@ Calvin's Hobbies Aslında, tek karakterin bu zorluğun en ilginç kısmı olduğunu düşünüyorum. ^^
Martin Ender

3
0'ı geçerek segfault gerekir.
Naftuli Kay

Yanıtlar:


4

CJam, 140 125 119 116 bayt

li__7*C+S*a\2*5+*\{5m>S'|6*+_" ."5*5/{'__@\++}:U%3*0@t{S5*U_}%\a+zsB'|tJ/{\(J>@\+a+}/{7m<}%}*{Cm<0{;)_' =}g+}%N*B'_t

Çevrimiçi deneyin.

Tek bir tuzlu

Kod pasajı

S'|6*+_      " Push ' ||||||' twice.                                                      ";
" ."5*5/     " Push [' . . ' '. . .'].                                                    ";
{'__@\++}:U% " Prepend and append an underscore to each string in the previous array.     ";
3*           " Repeat the resulting array thrice.                                         ";
0@t          " Replace its first element with ' ||||||'.                                  ";
{S5*U_}%     " Insert '_     _' after each element of the array.                          ";
\a+          " Append ' ||||||' to the array.                                             ";
z            " Zip; transpose rows with columns.                                          ";
sB'\t        " Flatten the array of strings and replace the 12th element with a '|'.      ";
19/          " Split into chunks of length 19.                                            ";

aşağıdakileri yığında bırakır:

[
  " __________|______ "
  "|  .     .     .  |"
  "|     .     .     |"
  "|  .     .     .  |"
  "|     .     .     |"
  "|  .     .     .  |"
  "|_________________|"
]

Yığılmış tuzlar

Yukarıdan gelen tuzun Z'ye kaydedildiğini varsayalım.

li               " I := int(input())                                                      ";
__7*C+S*a\2*5+*  " R:= [(I * 7 + 12) * ' '] * (I * 2 + 5)                                 ";
\{               " Repeat I times:                                                        ";
  5m>            "   R := R[-5:] + R[:-5]                                                 ";
  Z              "   Push a single saltine, as an array of lines.                         ";
  {              "   For each line L of the saltine:                                      ";
    \(J>@\+a+    "     R := R[1:] + [R[0][19:] +     L]                                   ";
  }/             "                                                                        ";
  {7m<}%         "   R := [ L[7:] + L[:7] : L in R ]                                      ";
}*               "                                                                        ";
{                " R := [                                                                 ";
  Cm<            "   (L[12:] + L[:12])                                                    ";
  0{;)_' =}g+    "                    .rstrip()                                           ";
}%               " : L in R ]                                                             ";
N*               " R := '\n'.join(R)                                                      ";
B'_t             " R[11] := '|'                                                           ";

11

JavaScript (E6) 249 259 289 304 345

Dize sıkıştırma hakkında çok emin değil. Dizeler için iyi bir sıkıştırma bulundu. Basit 1 kraker durumunun yönetilmesi zor görünüyor. Daha iyi bir yol olabilir ...

F=n=>{
  for(B=",|4.,|1.2,|1.4.4.1|,|5,|4.4.4|, 9|5, 87 ,|87|".replace(/\d/g,c=>' _'[c>4|0][R='repeat'](-~c)).split(','),
  O=(c,b=0,a=0)=>console.log(' '[R](y)+B[a]+B[b][R](x)+B[c]),
  r=x=y=0,
  O(7);
  O(3,2),
  !(z=++r>2)|x;)
    x+=(v=r<n)-z,O(v+5,1,z*4),y+=z*7;
  O(8)
}

Ungolfed az ya da çok

Golfe başlamadan önce bu temel koddur. Tamamen aynı değil ve sadece n> 2 için çalışıyor

F=n=>{
  O=t=>console.log(t)

  r=0
  x=0
  y=0

  O(' _________________')
  O(' '.repeat(y)+'|  .   '.repeat(x)+'|  .     .     .  |')

  while (++r<n)
  {
    x++;
    if (r>2)
    {
       x--;
       O(' '.repeat(y)+'|______'+'|     .'.repeat(x)+' __________|______')
       y+=7;
       O(' '.repeat(y)+'|  .   '.repeat(x)+'|     .     .     |')
    }
    else
    {
       O(' '.repeat(y)+'|     .'.repeat(x)+' __________|______')
       O(' '.repeat(y)+'|  .   '.repeat(x)+'|  .     .     .  |')
    }

  }  
  while(x--)
  {
     O(' '.repeat(y)+'|______'+'|     .'.repeat(x)+'|  .     .     .  |')
     y+=7;
     O(' '.repeat(y)+'|  .   '.repeat(x)+'|     .     .     |')
  }

  O(' '.repeat(y)+'|_________________|')
}

FireFox / FireBug konsolunda test edin

F(4)

Çıktı

 _________________
|  .     .     .  |
|     . __________|______
|  .   |  .     .     .  |
|     .|     . __________|______
|  .   |  .   |  .     .     .  |
|______|     .|     . __________|______
       |  .   |  .   |  .     .     .  |
       |______|     .|     .     .     |
              |  .   |  .     .     .  |
              |______|     .     .     |
                     |  .     .     .  |
                     |_________________|

8

Python, 252 241 karakter

s="eJxTiIeDGgiloBBRo6CgpwACcLIGJKaAKlxDmbp4dFADAL+oIFI=".decode('base64').decode('zip').split('X')
N=input()
R=range
G=map(list,[' '*(7*N+12)]*(2*N+5))
for n in R(N):
 for y in R(7):G[2*n+y][7*n:]=s[y]
G[0][11]='_'
for g in G:print''.join(g)

FryAmTheEggman ve Vincent'a 11 karakter attığı için teşekkürler.

Krakerlerin bir üstünlüğü:

$ echo 17 | python saltines.py
 _________________
|  .     .     .  |
|     . __________|______
|  .   |  .     .     .  |
|     .|     . __________|______
|  .   |  .   |  .     .     .  |
|______|     .|     . __________|______
       |  .   |  .   |  .     .     .  |
       |______|     .|     . __________|______
              |  .   |  .   |  .     .     .  |
              |______|     .|     . __________|______
                     |  .   |  .   |  .     .     .  |
                     |______|     .|     . __________|______
                            |  .   |  .   |  .     .     .  |
                            |______|     .|     . __________|______
                                   |  .   |  .   |  .     .     .  |
                                   |______|     .|     . __________|______
                                          |  .   |  .   |  .     .     .  |
                                          |______|     .|     . __________|______
                                                 |  .   |  .   |  .     .     .  |
                                                 |______|     .|     . __________|______
                                                        |  .   |  .   |  .     .     .  |
                                                        |______|     .|     . __________|______
                                                               |  .   |  .   |  .     .     .  |
                                                               |______|     .|     . __________|______
                                                                      |  .   |  .   |  .     .     .  |
                                                                      |______|     .|     . __________|______
                                                                             |  .   |  .   |  .     .     .  |
                                                                             |______|     .|     . __________|______
                                                                                    |  .   |  .   |  .     .     .  |
                                                                                    |______|     .|     . __________|______
                                                                                           |  .   |  .   |  .     .     .  |
                                                                                           |______|     .|     . __________|______
                                                                                                  |  .   |  .   |  .     .     .  |
                                                                                                  |______|     .|     .     .     |
                                                                                                         |  .   |  .     .     .  |
                                                                                                         |______|     .     .     |
                                                                                                                |  .     .     .  |
                                                                                                                |_________________|

Bu kod gerçekten yetersiz görünüyor, ancak diğer cevaplar söyleyecektir. Sadece tuzlu krakeri kopyalayıp doğru noktadaki bir diziye yapıştırır, en alttaki krakerin 1 karakterlik olduğunu gösterir, sonra hepsini yazdırır.

Harici bir dosya kullanırsam bunu 230 karaktere kadar indirebilirim (202 kod + 38 dosya boyutu + 1 dosya adı).


11
Lütfen her çıktısını gösterin, n=1 upto 2^10böylece programınızın gerçekten doğru olanı yaptığından emin olabiliriz.
kusur

list(' '*(7*N+12))olabilir [' ']*(7*N+12).
FryAmTheEggman

1
@flawr: Efendim, öyle mi diyorsunuz?
Claudiu

1
@ Claudiu Sizi, sadece aptalca bir aptal dokunuşuna bile sahip olacak bir eylemin canlandırmasını düşünmeye bile cesaret edemeyeceğimi temin ederim. = P
kusur

1
Ve G=[list(' '*(7*N+12))for _ in R(2*N+5)]ileG=map(list,[' '*(7*N+12)]*(2*N+5))
Vincent

7

Perl 189

Korece'den bazı string sıkıştırma fikirleri çalmakla, aşağıdakine indim:

echo 4 | perl -E 's/\d/($&<8?$":_)x$&/ge for@l=("|2.5.5.2|"," 98","|5.5.5|","|98|",7)[102020344=~/./g];map{say for@l[0,1];$l[$_]=substr($l[$_+2],0,7).$l[$_]for 0..6;substr$l[0],-7,1,"|"}2..<>;say for@l[0..6]'

Tarayıcınızda daha kolay görüntüleme için:

s/\d/($&<8?$":_)x$&/ge for@l=
("|2.5.5.2|"," 98","|5.5.5|","|98|",7)[102020344=~/./g];map{
    say for@l[0,1];
    $l[$_]=substr($l[$_+2],0,7).$l[$_]for 0..6;
    substr$l[0],-7,1,"|"
}2..<>;say for@l[0..6]

Bağlam için bundan önce elimden gelenin en iyisini:

Perl 207

$u='_'x11;s/:/ .  /g,s/.(.)/$&$1/g,$_.=$/for@l=("|:: . |"," $u","|  :: |","|$u|",$"x5)[102020344=~/./g];map{print@l[0,1];$l[$_]=substr($l[$_+2],0,7).$l[$_]for 0..6;substr$l[0],-8,1,'|'}2..pop;print@l[0..6]

Tarayıcınızda okuma kolaylığı için yeni satırlar ve girintiler ekleyin:

$u="_"x11;
s/:/ .  /g,s/.(.)/$&$1/g,$_.=$/for@l=
("|:: . |"," $u","|  :: |","|$u|",$"x5)[102020344=~/./g];
map{
    print@l[0,1];
    $l[$_]=substr($l[$_+2],0,7).$l[$_]for 0..6;
    substr$l[0],-8,1,"|"
}2..pop;
print@l[0..6]

Komut satırı parametresi yerine STDIN'den sayımı almak ve 206 bayta almak için "pop" komutunu "<>" ile değiştirebilirsiniz. STDERR'ye gitmek onu 204 bayta düşürür.

Bayt cezası olmadan 'say' özelliğini etkinleştirebilirsem, 202'ye ulaşabilirim.

$u="_"x11;s/:/ .  /g,s/.(.)/$&$1/g for@l=("|:: . |"," $u","|  :: |","|$u|",$"x5)[102020344=~/./g];map{say for@l[0,1];$l[$_]=substr($l[$_+2],0,7).$l[$_]for 0..6;substr$l[0],-7,1,"|"}2..<>;say for@l[0..6]

olarak çağrılır:

echo 4 | perl -E '$u="_"x11;s/:/ .  /g,s/.(.)/$&$1/g for@l=("|:: . |"," $u","|  :: |","|$u|",$"x5)[102020344=~/./g];map{say for@l[0,1];$l[$_]=substr($l[$_+2],0,7).$l[$_]for 0..6;substr$l[0],-7,1,"|"}2..<>;say for@l[0..6]'

sayCeza vermeden etkinleştirmenize izin verilir, çünkü bunun -Eyerine komut satırında çalışmakla aynı şeydir -e. perl -E''toplam karakterinize sayılmaz.
hmatt1

Çıktınız yanlış. Kontrol edin _|_.
choroba

@choroba, teşekkürler! Y / | / _ / ile değiştirmeye çalıştıktan sonra bu substr'yi geri koymayı unuttum (ancak her zaman daha uzun kodla bitiyor). 168-189 arası.
Tye

4

Perl 201

(# alan ilk kişi hariç yeni satırları kaldırın)

$_=" 46|6
15.5.5|15.5.5|198|";
s/1/|  .5.5.  ||/g;
s/\d/(5^$&?_:$")x$&/ge;
@o=@l=/.{18}.?/g;
map{
$s=$_*7;
substr$o[$_-5],$s,12,$l[$_]for 0..4;
push@o,($"x$s).$l[$_]for 5,6
}1..-1+pop;
$o[$,=$/]=~y/|/_/;
print@o

say+ <>= 198.


"Sonunda boşluk olmamalı"
Tye

@Tye: OK, 202 :-(
choroba

2

Haskell, 215 bayt

Bu, kraker yığınını endüktif olarak oluşturur, kraker parçalarını çeker ve birkaç döngüsel listeden ayrılır:

(b:u:i)=" _|"
(%)=replicate
z=5%b++'.':z
m!n=i++map(z!!)[m..n]
s=7%b:s
d=3!19++i
e=0!16++i
y=i++6%u
g 1=[e,d,e,d,i++17%u++i]
g k=zipWith(++)(0!5:3!8:0!5:3!8:y:s)$(b:10%u++y):d:g(k-1)
f k=mapM putStrLn$(b:17%u):d:g k

Kontrol akışı oldukça basittir; Kandırmacaların çoğu, kraker parçalarının mümkün olduğunca tekrar kullanılmasıdır.

Ungolfed:

top     = " _________________"
top'    = " __________|______"
dots3   = "|  .     .     .  |"
dots2   = "|     .     .     |"
bot     = "|_________________|"

halfR   = "|     ."
halfL   = "|  .   "
halfBot = "|______"

spacer  = "       "
spaces = repeat spacer

saltine = above ++ [dots2, dots3, dots2, dots3, bot]
above   = [top, dots3]
left    = [halfR, halfL, halfR, halfL, halfBot] ++ spaces

another (oldTop:oldCracker) = above ++ zipWith (++) left (top' : oldCracker)

crackers 1 = saltine
crackers k = another $ crackers (k - 1)

test = putStr . unlines . crackers

1

Python, 299

Zeki olduğumu düşünmüştüm, ancak çözümün aşırı karmaşık olduğu ve herhangi bir düz ileri yaklaşımdan daha uzun olduğu ortaya çıktı, ancak bunu yayınlamaya karşı koyamadım. Program, hangi karakterin tek tek krakerlerin üzerine döngü yapmadan çıktı dizisinin farklı pozisyonlarında çizilmesi gerektiğini açıkça hesaplar.

N=input()
m,n,c,r=12+7*N,5+2*N,3.5,range
print''.join(i>m-2and'\n'or(i%7<(i/c<j<7+i/c)*(i<N*7)or(i+4)%7<(i/c<j+4<2+4*(i>m-3)+i/c)*(i>16))and'|'or j%2<(j*c<i<17+j*c)*(j<n-5)+(j*c<i+22<8+10*(j>n-3)+j*c)*(j>5)and'_'or(i-j*3-min(i/7,~-j/2,N-1)+1)%6<(-3<-~i/7-j/2<3)and'.'or' 'for j in r(n)for i in r(m))

Ve son satır neler olduğunu görmek için genişledi:

print ''.join(
              '\n' if i>m-2 else
              '|' if i%7<(i/c<j<7+i/c)*(i<N*7) or (i+4)%7<(i/c<j+4<2+4*(i>m-3)+i/c)*(i>16) else
              '_' if j%2<(j*c<i<17+j*c)*(j<n-5)+(j*c<i+22<8+10*(j>n-3)+j*c)*(j>5) else
              '.' if (i-j*3-min(i/7,~-j/2,N-1)+1)%6<(-3<-~i/7-j/2<3) else
              ' '
              for j in r(n)
              for i in r(m)
             )

1

Cı, 284

Gereksiz boşluklar hariç , fonksiyon fve #defines için main. Edc65 yorumuna göre, ben (yine yapacağım) 128 bitlik tamsayı türü dahil ettik ama ben yanlış hesapladım yine ve sadece üstleri önce 29 kraker eksik olacak başlar yapabilirsiniz.

Tamamlanan fonksiyon ve aşağıdaki test programı. Daha sonra yorum yapacak.

#define C b,b,c,b,b
#define S s[i/v*7-i%v
f(n){
  __int128 a=4095,b=a+2,c=6281,d=4641,w=998,v=19,s[998]={a,C,d,C,d,C,a},i=v;
  for(;i<n*v;i++)S+18]|=S+11]*16&-1<<(12+i/v*2-i%v/18)*(i%v>7); 
  for(i=(5+n*2)*w;i--;i%w||puts(""))i%w>i/w/2*7-21+i/w%2*6&&s[i%w]&&putchar(" _.|"[(s[i%w]>>i/w*2)&3]);
}


main(){
  int m;
  scanf("%d",&m);f(m);
}

Çıktıda sadece dört farklı karakter var. Bunlar 0-3 arasındaki ikili sayılardan kodlanır" _.|" . Dizi s[], çıktının her sütunu için, her sembol için 2 bit olan ve en sağdaki krakeri içerecek şekilde ayarlanan bir tam sayı içerir.

İlk fordöngü önceki krakeri kopyalar, yukarı kaydırmak için sola kaydırır, sağ alt köşeyi kullanarak siler& , sola 7 adım.

İkinci for döngü, her karakterin 2 bitlik gösterimini gerçek karaktere dönüştürür ve karakteri yazdırır. Burada, çıktıdaki gereksiz boşlukları bastırmak için birçok kod var. Önceki revizyonumdan notumun düşmesi yerine skorumun yükseldiğini hayal kırıklığına uğrattım.

Çıktı

Bu 29 kraker. Boşluğu -farklı bir görünümle değiştirdim ve çıktıda iz bırakan boşluklar ya da yabancı yeni çizgiler olmadığını gösterdim.

-_________________
|--.-----.-----.--|
|-----.-__________|______
|--.---|--.-----.-----.--|
|-----.|-----.-__________|______
|--.---|--.---|--.-----.-----.--|
|______|-----.|-----.-__________|______
-------|--.---|--.---|--.-----.-----.--|
-------|______|-----.|-----.-__________|______
--------------|--.---|--.---|--.-----.-----.--|
--------------|______|-----.|-----.-__________|______
---------------------|--.---|--.---|--.-----.-----.--|
---------------------|______|-----.|-----.-__________|______
----------------------------|--.---|--.---|--.-----.-----.--|
----------------------------|______|-----.|-----.-__________|______
-----------------------------------|--.---|--.---|--.-----.-----.--|
-----------------------------------|______|-----.|-----.-__________|______
------------------------------------------|--.---|--.---|--.-----.-----.--|
------------------------------------------|______|-----.|-----.-__________|______
-------------------------------------------------|--.---|--.---|--.-----.-----.--|
-------------------------------------------------|______|-----.|-----.-__________|______
--------------------------------------------------------|--.---|--.---|--.-----.-----.--|
--------------------------------------------------------|______|-----.|-----.-__________|______
---------------------------------------------------------------|--.---|--.---|--.-----.-----.--|
---------------------------------------------------------------|______|-----.|-----.-__________|______
----------------------------------------------------------------------|--.---|--.---|--.-----.-----.--|
----------------------------------------------------------------------|______|-----.|-----.-__________|______
-----------------------------------------------------------------------------|--.---|--.---|--.-----.-----.--|
-----------------------------------------------------------------------------|______|-----.|-----.-__________|______
------------------------------------------------------------------------------------|--.---|--.---|--.-----.-----.--|
------------------------------------------------------------------------------------|______|-----.|-----.-__________|______
-------------------------------------------------------------------------------------------|--.---|--.---|--.-----.-----.--|
-------------------------------------------------------------------------------------------|______|-----.|-----.-__________|______
--------------------------------------------------------------------------------------------------|--.---|--.---|--.-----.-----.--|
--------------------------------------------------------------------------------------------------|______|-----.|-----.-__________|______
---------------------------------------------------------------------------------------------------------|--.---|--.---|--.-----.-----.--|
---------------------------------------------------------------------------------------------------------|______|-----.|-----.-__________|______
----------------------------------------------------------------------------------------------------------------|--.---|--.---|--.-----.-----.--|
----------------------------------------------------------------------------------------------------------------|______|-----.|-----.-__________|______
-----------------------------------------------------------------------------------------------------------------------|--.---|--.---|--.-----.-----.--|
-----------------------------------------------------------------------------------------------------------------------|______|-----.|-----.-__________|______
------------------------------------------------------------------------------------------------------------------------------|--.---|--.---|--.-----.-----.--|
------------------------------------------------------------------------------------------------------------------------------|______|-----.|-----.-__________|______
-------------------------------------------------------------------------------------------------------------------------------------|--.---|--.---|--.-----.-----.--|
-------------------------------------------------------------------------------------------------------------------------------------|______|-----.|-----.-__________|______
--------------------------------------------------------------------------------------------------------------------------------------------|--.---|--.---|--.-----.-----.--|
--------------------------------------------------------------------------------------------------------------------------------------------|______|-----.|-----.-__________|______
---------------------------------------------------------------------------------------------------------------------------------------------------|--.---|--.---|--.-----.-----.--|
---------------------------------------------------------------------------------------------------------------------------------------------------|______|-----.|-----.-__________|______
----------------------------------------------------------------------------------------------------------------------------------------------------------|--.---|--.---|--.-----.-----.--|
----------------------------------------------------------------------------------------------------------------------------------------------------------|______|-----.|-----.-__________|______
-----------------------------------------------------------------------------------------------------------------------------------------------------------------|--.---|--.---|--.-----.-----.--|
-----------------------------------------------------------------------------------------------------------------------------------------------------------------|______|-----.|-----.-__________|______
------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--.---|--.---|--.-----.-----.--|
------------------------------------------------------------------------------------------------------------------------------------------------------------------------|______|-----.|-----.-__________|______
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--.---|--.---|--.-----.-----.--|
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|______|-----.|-----.-__________|______
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--.---|--.---|--.-----.-----.--|
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|______|-----.|-----.-----.-----|
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--.---|--.-----.-----.--|
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|______|-----.-----.-----|
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--.-----.-----.--|
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|_________________|

Soruda maksimum değer yoktu, sadece "pozitif bir tamsayı" idi. Yani 1'den 5'e kadar olan bir pozitif tamsayı fikriniz nedir?
edc65

@ edc65 Birkaç bayt için 32 bit yerine 128 bit tam sayı türüne sahip olabilirsiniz. Bu yeterli olması gereken 56 kraker alacaktır (bu 20kb'nin üzerinde çıktı). Başladığımda 32-bit bir tamsayı ile alabileceğim kraker sayısını yanlış hesapladığımı itiraf ediyorum, en az on tane olduğunu düşündüm. Fakat evet, tüm programların üretebilecekleri kraker sayısında bir miktar üst sınırı olacak ve bunun ne olduğuna karar vermek OP'e bağlı. Bu gerektiğini Söz konusu belirtilmelidir. Olduğu gibi OP'nin de cevabımın geçerliliği konusundaki kararını kabul edeceğim (bitmedi).
Level River St

0

JavaScript (ES6) HTML5 - 233 236 bayt

Muhtemelen geçerli bir cevap değil, ancak gönderime karşı koyamadım, üzgünüm :-P

F=n=>{d="______";b="\n|  .     .     .  |";a=b+"\n|     .     .     |";for(i=0;i<n;)document.body.innerHTML+="<pre style='background:#fff;position:fixed;top:"+i*28+"px;left:"+i*56+"px'> ____"+d+'|_'[+!i++]+d+a+a+b+"\n|"+d+d+"_____|"}

Firefox'ta ile test F(1), F(2),F(3) vb

Örnek: http://jsfiddle.net/Lvmg9fe8/7/


JavaScript bilmiyorum ama bu Fiddle hiçbir şey yapmıyor gibi görünüyor (diğer Fiddles'leri sorunsuzca çalıştırabiliyorum) Google Chrome ve Internet Explorer var.
Seviye River St

@steveverrill, sadece JavaScript olarak satılan hemen hemen her şey gibi, yalnızca Firefox'ta çalışır. Chrome ve IE EcmaScript 6'yı desteklemiyor
ben ve kedim

Çalışıyor (Firefox'ta), aradığım şey tam olarak olmasa da;)
Calvin'in Hobileri

Bunun işe yarayacağına F(1)
inanamıyorum
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.