10 9 8 7 6 5 4 3 2 1… Yazdır 2016


12

Bir tur-off gelince Gables at üzerinde benim meydan , hedef çıkışı etmektir 2016.

Kurallar:

  • Numaraları 10 9 8 7 6 5 4 3 2 1bu sırayla eklemelisiniz . Tek tek tamsayılar olarak kullanılabilirler veya birlikte birleştirilebilirler (örneğin 1098), ancak bunlar 10ayrılamaz 1ve 0- basamaklar arasında karakter (ler) bulunmayabilir. Bazı dillerde, kabul edilebilir bir 10tam sayı değişmezini temsil etmeyebileceğini unutmayın 10.
  • Kodunuz başka herhangi bir sayı veya önceden tanımlanmış sayı değişkeni veya sabit içermemelidir (bu nedenle Tsayısal bir sabit olduğu için Pyth'e izin verilmez).
  • Sayıları kullanarak hesaplamanız gerekir 2016. Basitçe çıkışı 2016yasaktır (örneğin, yalnızca alfabetik karakterlerden oluşan kodlanmış bir dize kod çözme yoluyla) gerekli numaralar ile ilgili ameliyat yapmadan. 2016Parçalar halinde çıktıya ( 20o zaman gibi 16) de izin verilmez; sayısal değerden oluşan tek bir çıktınız olmalıdır 2016.
  • En az bayt içeren geçerli cevap kazanır.

3
@nicael Eminim bulmacanın çözümü tamamlandı. Bu "denklemi çözmek için insert operatörleri" sorunlarının birçoğunu yaşadık, ancak bunları aramak oldukça zor.
Martin Ender

1
Önceki revizyon (2) aslında daha ilginçti. Yeni sadece dize yazdırıyor, hesaplama zaten şaşırtıcı sorunuzda yapıldı ...
nicael

1
1) Biz hesaplayabilir: Geçerli soruya ne görebilirsiniz dayalı Sadece birkaç soru 20ve 16ve diğer ardına bunları yazdırabilir veya hesaplanan sayı ihtiyacı yazdırmadan önce 2016 olmak zorunda? 2) İşlevlere izin veriliyor mu? 3) Rakamların birleştirilmesine izin veriliyor mu? örn. 1098(Önceki yorumlarla evet varsayıyorum, ancak onaylamak için) 4) "2016 tam sayılarını hesapla", hiçbir zaman ara adımda hiçbir yerde yüzer olamayacağımız anlamına mı geliyor? örneğin bir sayıyı köklendirip yuvarlayabilir miyim?
Sp3000

1
5) "10" un on numara olarak kabul edilmediği, daha sonra bir dilin ardından sıfır geldiği ve çevresinde bir yol olmadığı bir dile sahipsem ne olur? Böyle bir dil diskalifiye edildi mi? (örnek dil: Befunge) 6) 10 yerine önceden tanımlanmış bir sayı değişkeni kullanabilir miyiz , ör T987654321.
Sp3000

@ Sp3000 1 No. 2 No. 3 Evet. 4 Şamandıralar, başka kuralları çiğnemediğiniz sürece sorun olmaz. 5 10dahil edilmelidir, böylece bir şekilde işlemek gerekir. 6 Daha 10önce göründüğü sürece T.
rybo111

Yanıtlar:


22

Jöle , 17 15 14 bayt

109876:54+3_21

Çevrimiçi deneyin!

Nasıl çalışır

109876:54+3_21

109876            Initialize the left argument as 109876.
      :54         Perform integer division by 54, yielding 2034.
         +3       Add 3, yielding 2037.
           _21    Subtract 21, yielding 2016.

8

Altıgen, 61 bayt

Kazanmayacağım, ama sadece Hexagony'de bir meydan okuma yapmak istedim.

Bu, diğer cevaplardan farklı bir yöntem kullanır (çok daha kötü). 2016'nın bazı faktörlerini (2,3,6,7,8) alır ve hepsini bir araya getirir.

minified:

\109.8/7}_=\"6<}{>...$_5_4/*!@...../}3.."2\/="*=}<*...$1>"*"/

Unminified:

    \ 1 0 9 .
   8 / 7 } _ =
  \ " 6 < } { >
 . . . $ _ 5 _ 4
/ * ! @ . . . . .
 / } 3 . . " 2 \
  / = " * = } <
   * . . . $ 1
    > " * " /

Açıklama çok yakında;


5
Açıklama çok yakında; ” Sanırım 'yakında' farklı bir anlayışımız var. ; P
Kevin Cruijssen

1
@KevinCruijssen Hata! Bunu tamamen unuttum. ... Ve şimdi artık nasıl çalıştığını anlamıyorum. Harika.
Mavi


4

TI-BASIC, 17 15 bayt

int(109876/54-√(321

Bu @ nicael yöntemini kullanır.

17 bayt:

10+9*8-7+654*3-21

Puzzling'in bu çözümü doğrudan TI-BASIC'e çevrilebilir.


1
Japt ve muhtemelen bazılarında da geçerlidir.
ETHproductions

1
Ayrıca PowerShell ve Mathematica'da (Wolfram) çalışır ve ben çok daha fazlasını hayal ederdim. Ve muhtemelen önemsiz değişikliklerle düzinelerce daha fazla çalışır.
AdmBorkBork

Güzel bir çok dilli çözüm
TanMath

Diğer dilleri almak istiyorsanız, topluluk wiki'mi silerim.
Addison Crump

3

Japt, 17 16 bayt

Â(109876/54-321q

Bundan 17 nefret ediyorum. Muhtemelen başka bir çözüm bulacaktır. YAYZ.

Açıklama:

  • 321q 321'in kare köküdür.
  • ~~ kat sayısı.

Çevrimiçi deneyin!


Â== ~~:-)
ETHproductions

109876/54-321¬f15: -D
ETHproductions

@ Eth ama f çalışmıyor, değil mi?
nicael

Düzeltilmelidir. Ama tercüman şu anda bakım için kapalı, ben bir anlığına geri alacağım.
ETHproductions

109876/54-321q)fşimdi çalışıyor. Diğer öneri değil.
ETHproductions


3

m.ö., 14

109876/54+3-21

Burada heyecan verici bir şey yok - diğer cevaplardan ödünç alıyor.


1
DC eşdeğeri 109876 54/3+21-p16 puan alır, ancak kendi cevabını garanti etmez.
Toby Speight

2

Haskell, 31 bayt

[10,9*8*7+const 6 5..]!!4+3*2*1

En kısa değil, 10+9*8-7+654*3-21diğer cevaplarda görüldüğü gibi Haskell'de de çalışıyor, ama farklı bir şey.

Bu, 10ve ile başlayan bir liste oluşturur 9*8*7+6 = 510, bu nedenle ofset 500aşağıdaki öğeler içindir. Bütün liste [10,510,1010,1510,2010,2510 ...]. 4thÖğeyi (dizin 0 tabanlı) seçiyoruz , yani 2010ekliyoruz 3*2*1 = 6. Voilà.

Gerekli olmayan const 6 5 = 6şeylerden kurtulmak için kullanıyorum 5.


2

Python 2, 20 bayt

print 109876/54+3-21

Yine aynı sıkıcı 2016.(740). İfadenizde ondalık bir sayı yoksa, bir tamsayı döndürdüğünü kullanır.


1

> <> (balık), 18 bayt

10987**r65r4*n;321

explaination:

504'ü elde etmek için 9 8 ve 7'yi çarpar, yığını ekler ve 4 eklenmeden hemen önce tersine çevirir, sonra 2016'yı almak için 504 ve 4'ü çarpar. Sonra numarayı yazdırır ve programı son 3 sayıdan önce bitirir (yapabilirim kurallar açısından önemli ise, hiçbir fark olmadan da).


1

Math ++ , 17 bayt

_(109876/54)+3-21

Aslında, bu yazdırılıyor 2016.0. Ancak 2016, bu dilde tam dize yazdırmanın hiçbir yolu yoktur .

17 baytlık TI-BASIC çözümü de burada işe yarar.


1

Polyglot, 17 Bayt

10+9*8-7+654*3-21

İlk olarak Thomas Kwa'nın TI-BASIC yanıtında kullanılan bu kod ayrıca şu şekilde çalışır:

  • AppleScript (tam program)
  • bc (tam program)
  • Math ++ (ifade veya tam program)
  • Mathematica (işlev, bu nedenle geçerli değil)
  • Powershell (tüm program)
  • Japt (tam program)
  • JavaScript (konsol girişi, bu nedenle geçerli değil) İkinci doğrulama gerekiyor
  • Perl 5 (işlev, bu nedenle geçerli değildir). İkinci doğrulama gerekiyor
  • Haskell (işlev, bu nedenle geçerli değil)
  • Python REPL (ifade, böylece çıktıyı elde etmek için REPL ortamı gereklidir)

1
Peki, ne anlamı var?
nicael

@nicael - bulabileceğim (TI-BASIC hariç) tüm cevapları eklemek için (Thomas Kwa da diğer cevapları da eklemek istemiyorsa) planlıyorum --- gidiyorum. Başkalarının katkıda bulunabilmesi için Topluluk olarak işaretlendi.
Addison Crump

1
Neden "işlev, bu nedenle geçerli değil" ifadeleri? Varsayılan olarak işlevlere izin verilir.
nimi

5
Diğer dilleri bilmiyorum ama 10+9*8-7+654*3-21ne JavaScript ne de Perl işlevi.
Dennis

1
@ Sp3000: Oh, bu geçersiz kılınan kural değişiklikleri ...
nimi



1

PHP, 27 bayt

<?=~~(109876/54+3-21);

(22 bayt) çok sıkıcıydı,

bu yüzden 10'dan 9'a ayrı sayılar olarak kullandım:

<?=10*(9-8+7-6),5+4-3+2<<1;

çoğunlukla küçük hilelerle diğer çözümler:

30: <?=10**(9+8-7-6)/5+4*3+(2<<1);
30: <?=10*trim(9*8,7),6+5+4+3-2*1;
29: <?=10*trim(9*8,76),5*4-3-2+1;
31: <?=10*trim(9*8,765),4+(3*2<<1);
31: <?=10*trim(9*8,765),4*3+(2<<1);
32: <?=ceil(1098*76/54)+321+ord(~j);
33: <?=(10<<9)/876*543/M_PI*2-M_E&~1;

0

Samanyolu 1.6.5 , 28 25 bayt

10+9*(8)7;^*6*5/4*3/2*A!1

açıklama

10+9*                      ` perform 10*9 (leaves 90 at TOS)
     (8)7;^*               ` get rid of 8 and multiply the TOS by 7
            6*5/4*3/2*A    ` perform TOS*6/5*4/3*2 (leaves 2016 at TOS)
                       !   ` output the TOS
                        1  ` push 1 to the stack




0

C 37 bayt

main(){printf("%d",109876/54+3-21);}

Birçok hediye ile aynı tema.



0

JavaScript (ES6), 21 bayt

f=

_=>~~(109876/54+3-21)

console.log(f())

"Geri sayım" 0'a giderse, 19 baytta yapılabilir.

f=
_=>109876/54+3-21|0
console.log(f())

Ve şimdi 2017 olduğu gibi, 21 baytta da yapılabilir:

f=
_=>-~(109876/54+3-21)
console.log(f());

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.