Cetak banyak nomor yang tidak menarik!

40

Nomor yang tidak menarik (yang sama sekali tidak saya sesuaikan untuk tantangan ini) dibuat seperti ini:

  1. Ambil bilangan bulat positif N
  2. Buat angka O baru dengan menambahkan angka N di akhir N
  3. Angka terakhir yang tidak menarik adalah O * N

Misalnya untuk N = 12:

  1. O = 1212
  2. O * N = 1212 * 12
  3. Angka terakhir adalah 14544

Memasukkan

Bilangan bulat positif N (N> 0) atau setara dengan bahasa Anda. Anda tidak harus menangkap input yang salah.

Keluaran

Nomor tidak menarik yang sesuai.

Uji kasus

  1 -> 11
  2 -> 44
  3 -> 99
 10 -> 10100
174 -> 30306276

Mencetak gol

Kode terpendek dalam Bytes menang.

Seims
sumber
9
Harus ada entri OEIS yang relevan ...
MKII
1
@Seims Itu lelucon, berdasarkan nama "uninsteresting"
MKII
7
@MKII saya buruk, saya tidak berbicara lelucon
Seims
1
Apakah mengambil nomor sebagai argumen string membengkokkan aturan terlalu banyak?
Dom Hastings
1
Silakan, tekuk aturan! : P
Seims

Jawaban:

38

05AB1E , 3 byte

Ы*

Dijelaskan

Ð    # triplicate input
 «   # conactenate
  *  # multiply

Cobalah online

Emigna
sumber
2
Ahh bagus! Ninja'd me by seconds: p.
Adnan
2
@ Adnan Hehe. Balas dendam untuk waktu itu kau melakukannya padaku: P
Emigna
1
3 operasi, 3 byte, saya tidak berpikir Anda bisa membuatnya lebih pendek dari itu.
Lasse Meyer
2
@busukxuan Yap. Concatenate secara otomatis mengkonversi nomor ke strdan *menafsirkan string sebagai angka. Sangat berguna :)
Emigna
2
@busukxuan Ya, kombinasi Pyth dan 05AB1E bisa melakukannya dalam 2 byte :)
Emigna
29

JavaScript (ES6), 10 byte

_=>(_+_)*_

Perlu dipanggil dengan argumen sebagai a String, bukan a Number.

Pemakaian:

(_=>(_+_)*_)('3')
99

-3 byte berkat saran @Quill .

Dom Hastings
sumber
1
Jika Anda dapat melewatkan parameter sebagai string, Anda dapat memotong dua byte dari solusi ini:_=>(_+_)*+_
Quill
3
Bagaimana tepatnya cara kerjanya? Jika saya mengerti dengan benar, apakah Anda menggunakan _sebagai karakter arbitrer untuk suatu variabel? (PS - (_+_)benar - benar terlihat seperti pantat)
charredgrass
@charredgrass $juga akan berfungsi
kucing
11
type casting abuse sebelas
Downgoat
3
Yang menarik, yang terbaik yang bisa saya lakukan secara matematis murni adalah 30 byte di ES7 n=>(1+10**-~Math.log10(n))*n*n(sayangnya -~memiliki prioritas lebih tinggi daripada **) atau 31 di ES6 n=>-~`1e${-~Math.log10(n)}`*n*n. Bahkan rekursi membuat saya 32 byte:f=(n,m=1)=>n<m?-~m*n*n:f(n,m*10)
Neil
24

Java 8, 29 26 25 21 Bytes

Tuhan memberkati lambda

c->new Long(c+""+c)*c

c-> Long.decode (c + "" + c) * c;

pengguna902383
sumber
28
Anda harus mencintai Jawa; bahkan dengan lambdas dari Java 8 dan salah satu jawaban terpendek yang pernah ada di Jawa pada codegolf, itu masih kalah oleh semua jawaban saat ini. xD
Kevin Cruijssen
3
java is bae, lambda is bae
Seims
3
@KevinCruijssen saya masih punya harapan, suatu hari java akan memenangkan kontes
codegolf
1
Setelah diedit, Anda mengalahkan @MartinEnder dengan jawaban Retina- nya sebesar 1 byte! o.Ô
Kevin Cruijssen
1
@KevinCruijssen tetapi masih belum cukup untuk menang atau setidaknya mengalahkan python :(
user902383
20

vim, 11

C<C-r>=<C-r>"<C-r>"*<C-r>"<cr>

crcrcrcrcr ...

C       change (delete and enter insert mode) until the end of the line
<C-r>=  insert an expression via the special "expression register"
<C-r>"  insert the contents of the default register (what we just C'd)
<C-r>"  ... again
*       multiplied by
<C-r>"  the input (again)
<cr>    insert the result of this expression
Gagang pintu
sumber
11 apa? byte?
Gila
3
@Insane Bytes jika Anda memanggilnya dari baris perintah, tekan tombol jika Anda melakukannya langsung dari vim. Saya biasanya menghilangkan unit dari jawaban vim saya karena dapat berupa salah satunya.
Gagang pintu
v.tryitonline.net/#code=QxI9EiISIioSIgo&input=MTI Menjadi buruk <C-r>tidak bisa dilakukan.
DJMcMayhem
Apakah <C-r>carriage kembali?
Kapten Man
@ KaptenMan Tidak, <C-r>adalah kontrol plus r. Pengembalian kereta adalah <cr>.
Gagang pintu
15

Pyth, 5 4 byte

*s+`

Penjelasan:

    Q    input
   `     representation, basically str(Q)
  +  Q   add Q to its own string form
 s       parse int
*     Q  multiply by input
         print

Uji di sini .

busukxuan
sumber
15

Emacs, 17 byte

(*SPACEC-SPACEC-EM-YSPACEC-YC-Y)C-J

Penjelasan

  • (*SPACEmenambahkan (*titik (sebelum nomor);
  • C-SPACEC-EM-Y Pilih dan salin nomornya;
  • SPACE menambahkan karakter spasi pada titik (setelah nomor);
  • C-YC-Y menempelkan dua kali angka pada titik;
  • )menambahkan )di akhir;
  • C-J menginterpretasikan baris sebagai ekspresi LISP dan mencetak hasilnya.

Contoh

Kursor diwakili oleh sebuah pipa ( |)

  • |174
  • (*SPACE (* |174
  • C-SPACEC-EM-Y (* 174|
  • SPACE (* 174 |
  • C-YC-Y (* 174 174174|
  • ) (* 174 174174)|
  • C-J

Hasil

(* 174 174174)
30306276|
YSC
sumber
3
Hai, dan selamat datang di PPCG! Posting pertama yang bagus!
Rɪᴋᴇʀ
13

C #, 19 23 byte

n=>int.Parse(""+n+n)*n;

Tanpa string, 47 byte

n=>{int i=1;while(i<=n)i*=10;return(i+1)*n*n;};
Weston
sumber
4
Ini adalah cuplikan, bukan program atau fungsi lengkap. Ini akan berlaku dengan misalnya (n)=>{int.Parse(""+n+n)*n}2
kucing
@cat lebih baik? apakah saya perlu trailing ;?
weston
Saya tidak tahu Lihat juga Defaults untuk Code Golf dan Tips untuk bermain golf di C #
cat
12

Python 2.7, 21 byte:

lambda f:int(`f`*2)*f

Nah, ini harus menjadi jawaban Python terpendek yang pernah saya tulis dalam waktu tersingkat. Ini adalah fungsi lambda anonim yang dapat dieksekusi dengan memberi nama apa pun yang Anda inginkan dan kemudian menyebutnya seperti fungsi normal yang dibungkus print(). Misalnya, jika input Anda 12, dan fungsinya bernama H, ini akan disebut seperti print(H(12)).

Cobalah secara Online! (Ideone)

Perhatikan bahwa ini hanya berfungsi untuk nilai naik dan sama dengan 9223372036854775807karena nilai yang lebih tinggi dan repr()menempatkan a Ldi akhir bilangan bulat. Oleh karena itu, untuk nilai yang lebih besar dari 9223372036854775807, versi 24 byte ini akan menjadi yang berfungsi:

lambda f:int(str(f)*2)*f

Coba Ini Online! (Ideone)

R. Kap
sumber
Saya masih menemukan operasi String Phytons ajaib ...
Seims
@Ims dengan cara apa?
busukxuan
Perkalian dan penambahan string. Belum sering melihatnya.
Seims
@Ims Saya kira Anda kebanyakan berurusan dengan bahasa statis?
busukxuan
@busukxuan Panggil aku noob jika kamu mau: ^)
Seims
11

Jelly, 4 Bytes

;DḌ×

Cobalah online

Penjelasan

;DḌ×    Main link. argument : N

 D      Decimal; Yield the digits of N
;       Concatenate N and its digits
  Ḍ     Convert to integer; We get O
   ×    Multiply O and N
Essari
sumber
1
Ini adalah wajah mengedipkan mata yang sangat bahagia dengan janggut! ;DDx
kucing
Di mana pengkodean hanya membutuhkan 1 byte? Biasanya kita menggunakan UTF-8, di mana dibutuhkan 3 (dan × mengambil 2, tetapi itu adalah 1 byte misalnya ISO8859-1).
o11c
@ o11c Jelly menggunakan halaman kode khusus sendiri di mana karakter-karakter ini masing-masing satu byte.
spaghetto
10

C, 70 68 54 53 52 44

f(n){return(pow(10,(int)log10(n)+1)*n+n)*n;}

Versi sebelumnya (48 byte, tanpa fungsi matematika), menyimpan 16 byte berkat @LeakyNun, 1 byte berkat @FryAmTheEggman, 4 byte berkat @TobySpeight:

f(n,d,i){for(i=d=n;d;d/=10)i*=10;return(i+n)*n;}

Panggil f()dengan satu argumen, nomor, dan mengembalikan nomor yang tidak menarik yang sesuai.

Program uji

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char **argv)
{
    while (*++argv) {
        int n = atoi(*argv);
        printf("%d -> %d\n", n, f(n));
    }
    return 0;
}

Hasil tes:

$ ./84712 1 2 3 4 10 174
1 -> 11
2 -> 44
3 -> 99
4 -> 176
10 -> 10100
174 -> 30306276

Cobalah online!

owacoder
sumber
f(n){int b=1;while(a)b*=10,a/=10;return(n+n*b)*n;}
Leaky Nun
Ini seharusnya tidak bekerja dengan baik tanpa termasuk math.h, tetapi Anda lolos begitu saja di GCC, di mana log10()dan pow()sudah built-in, dan kompilator hanya memperingatkan tentang "deklarasi implisit yang tidak kompatibel dari fungsi built-in" daripada mengasumsikan (sebagaimana mestinya) bahwa mereka berdua kembali int.
Toby Speight
@ Leaky - Anda tidak memasukkan apa pun ke a...
Toby Speight
1
Sangat menyenangkan untuk melihat jawaban lain yang tetap sepenuhnya dalam dunia aritmatika (tidak melakukan penggabungan string). :-)
Toby Speight
1
@Toby - Rangkaian string dalam C tidak kompatibel dengan golf. ;-)
owacoder
9

Dyalog APL , 7 byte

⊢×#⍎⍕,⍕

representasi string

⍕, representasi string yang diawali

#⍎ buat menjadi angka (dalam root namespace)

⊢× kalikan dengan nomor asli

Adm
sumber
1
Para pejuang TIE yang hancur itu lucu!
Luis Mendo
1
Garpu terbangun :-D
Luis Mendo
Saya cukup yakin itu bukan byte dalam pengkodean apa pun , karena itu bukan seperti huruf atau sangat umum.
o11c
@ o11c Apakah Anda sudah memeriksa tautan preemptive untuk kata "bytes", yaitu. meta.codegolf.stackexchange.com/a/9429/43319 .
Adám
9

J, 7 byte

*,~&.":

Penjelasan

*,~&.":  Input: n
     ":  Format n as a string
 ,~&.    Reflect and join the string to make "nn"
         and parse the string to get a number
*        Multiply that number by n
mil
sumber
+1. Aku bahkan tidak bisa berpikir itu Underbekerja dengan baik dengan penggabungan string. Sungguh penemuan yang luar biasa bagi saya! Terima kasih.
Dan Oak
Sayangnya, saya pikir ini harus dalam kurung, karena itu adalah pengait yang tidak berfungsi jika diketik secara langsung * ,~ &.": n, dan tidak dapat digunakan dalam pembentukan kata kerja lain juga.
Dan Oak
1
@dahnoak Di sini, di PPCG, kita hanya perlu menentukan apa yang diperlukan untuk suatu fungsi, dan jadi di atas adalah semua yang diperlukan untuk membuat fungsi dalam J. Kemudian untuk memintanya menggunakan beberapa input sebagai argumen, itu akan berada di kurung atau disimpan dalam variabel.
mil
Ah, saya mengerti, ty.
Dan Oak
9

Retina , 27 20 byte

^
$_$*: $_
:
$_$*:
:

Mendapat sedikit lambat untuk input besar, karena sebelum tahap terakhir hasilnya diwakili dalam unary.

Cobalah online! (Baris pertama memungkinkan suite tes yang dipisahkan dengan linefeed.)

Penjelasan

Saya akan menggunakan 2sebagai input contoh (karena representasi unary menjadi sedikit sulit untuk input yang lebih besar).

Tahap 1: Substitusi

^
$_$*: $_

Dengan mencocokkan awal string dengan ^kami hanya menambahkan beberapa hal. $_mengacu pada string input itu sendiri dan $*:berarti kami memasukkan banyak titik dua. Jadi kita dapatkan:

:: 22

Tahap 2: Pergantian

:
$_$*:

Sekarang kami mencocokkan setiap :dan menggantinya dengan $_$*:. Tentu saja, kali $_ini tidak mengevaluasi ke integer (tetapi :: 22dalam contoh kita), tetapi $*hanya mencari desimal pertama dalam string, jadi ini mengevaluasi input yang digabungkan dengan dirinya sendiri ( Odalam spesifikasi tantangan). Kami akan berakhir dengan N*Otitik dua, diikuti oleh O:

:::::::::::::::::::::::::::::::::::::::::::: 22

Tahap 3: Cocokkan

:

Yang tersisa hanyalah menghitung :s untuk mengkonversi dari unary back ke desimal, yang persis seperti apa tahap ini.

Martin Ender
sumber
Ooh, sangat dekat dengan Jawa. Mengungguli dengan hanya 2 byte. +1
R. Kap
@ R.Kap Sebenarnya, Java 8 mengungguli itu setelah menghapus 3 byte! o.Ô
Kevin Cruijssen
4
Maaf, Jawa ....
Martin Ender
9

CJam , 8 byte

ri_`_+i*

Cobalah online!

r     e# Read input
i     e# Convert to integer
_     e# Duplicate
`     e# Convert to string
_     e# Duplicate
+     e# Concatenate
i     e# Convert to integer
*     e# Multiply. Implicitly display
Luis Mendo
sumber
2
Saya akan menyarankan untuk tidak mengkonversi kemudian segera kembali ke string tetapi pendekatan naif (yaitu belum pernah menggunakan CJam sebelumnya) adalah r__+i\i*, yang panjangnya sama.
Nic Hartley
@QPaysTaxes Ah bagus. Saya perhatikan hal yang sama seperti Anda: mengapa pertama mengubahnya menjadi int dan kemudian kembali ke string lagi. Saya juga tidak pernah menggunakan CJam dan tidak benar-benar melihat cukup dekat pada semua operator yang mungkin , jadi saya tidak dapat menemukan solusi pada pandangan pertama. Terima kasih telah berbagi pendekatan Anda tanpa mengubahnya kembali ke string, meskipun itu panjang byte yang sama.
Kevin Cruijssen
Jika ada cara untuk menerapkan operasi ke seluruh tumpukan dalam dua byte, itu akan menjadi byte lebih pendek (seperti r__+si*, di mana s"terapkan operasi ini di atas tumpukan"), tapi saya tidak melihat hal seperti itu
Nic Hartley
8

Jelly, 8 6 byte

ŒṘẋ2v×

Cobalah online!

Penjelasan

ŒṘẋ2v× - Main link. Left argument: the number to convert

     × - Multiply
    v  - an evaluation of the left argument
ŒṘ     - converted to string
  ẋ    - multiplied by
   2   - two and the left argument
pengguna48538
sumber
1
Saya tidak berpikir Anda membutuhkan keduanya ³.
Martin Ender
8

Awk, 13 byte

$0=($0$0)*$0

Atur baris menjadi 2 dengan sendirinya dikalikan dengan sendirinya

Pengguna112638726
sumber
7

Brachylog , 7 byte

:?c:?*.

Penjelasan

:?c      Concatenate Input to itself
   :?*.  Output is that concatenation times Input
Fatalisasi
sumber
7

Python, 42 byte

Pendekatan aritmatika murni, tanpa string!

f=lambda n,m=1:m<=n and f(n,m*10)or-~m*n*n

Ide itu!

Biarawati Bocor
sumber
7

Matlab / Oktaf, 20 byte

@(x)eval([x x 42 x])

Ini adalah fungsi anonim yang mengambil input sebagai string.

Contoh penggunaan:

>> f = @(x)eval([x x 42 x])
f = 
    @(x)eval([x,x,42,x])
>> f('12')
ans =
       14544

Atau coba online dengan ideone .

Penjelasan

Kode membangun string dengan menggabungkan string input dua kali, lalu karakter *(yang memiliki kode ASCII 42), kemudian string lagi. String yang digabungkan kemudian dievaluasi.

Luis Mendo
sumber
Apa 42artinya
Leaky Nun
4
@LeakyNun Ini Jawaban untuk Pertanyaan Utama Kehidupan, Alam Semesta, dan Segalanya " . Juga, itu adalah kode ASCII untuk*
Luis Mendo
Ah. Saya sedang mencari sesuatu seperti fungsi ke-42.
Leaky Nun
Kode hanya membangun string dengan menggabungkan string input dua kali, lalu *, kemudian string lagi. String yang digabungkan kemudian dievaluasi. Saya akan mengeditnya menjadi jawaban
Luis Mendo
6

MATL , 6 byte

tVthU*

Cobalah online!

tV     % Input number implicitly. Duplicate and convert to string
th     % Duplicate and concatenate the two equal strings
U      % Convert to number
*      % Multiply
Luis Mendo
sumber
6

zsh, 13 byte

<<<$[$1$1*$1]

Mengambil input sebagai argumen baris perintah, output ke STDOUT.

Ini hanya bekerja di zsh, tapi di sini 15 byte di Bash menggunakan echobukan <<<:

echo $[$1$1*$1]
Gagang pintu
sumber
6

Perl, 11 byte

$_*=$_ x2

+ pdan lbendera.

(dijalankan dengan perl -ple '$_*=$_ x2')

-2 byte berkat pipa.

Dada
sumber
Simpan dua byte:$_*=$_ x2
pipa
Saya rasa Anda tidak perlu-l
Brad Gilbert b2gills
@ BradGilbertb2gills Ya saya membutuhkannya karena tanpanya, $_ x2akan menghasilkan ...\n...\nyang ketika dikonversi sebagai angka dengan perl berakhir pada awalnya\n
Dada
Saya mengujinya dengan Perl 5 dan 6, dan tidak menyadari bahwa saya lupa menghapus 6.
Brad Gilbert b2gills
6

Excel VBA, 35 Bytes

Sub disebut dengan nomor, kotak pesan mengembalikan jawaban

Sub B(a)
MsgBox (a & a) * a
End Sub

Alternatif Excel VBA, 42 Bytes

Angka yang diberikan dalam rumus, mengembalikan jawaban.

Function B(a)
B = (a & a) * a
End Function
tjb1
sumber
Pikirkan tentang MsgBox dan Sub. Ini akan menghemat 13 Byte, jika saya hitung dengan benar
GER_Moki
Saya perlu beberapa bentuk kotak input untuk mendapatkan nilai, bukan?
tjb1
Coba Sub B (a) MsgBox (a & a) * Sub Akhir
GER_Moki
Itu membutuhkan sub lain untuk lulus nilai, saya tidak yakin itu diperbolehkan dalam golf.
tjb1
Fungsi harus dipanggil juga;)
GER_Moki
6

Lua, 20 Bytes

Dibawa dalam argumen baris perintah, dan output melalui STDOUT

a=...print((a..a)*a)

Dan ungolfed sebagai @LeakyNun bertanya dalam komentar :)

a=...       -- alias for the first argument
print(
     (a..a) -- concatenate a with itself, equivalent to a:rep(2)
     *a)    -- multiply the resulting number by a
Katenkyo
sumber
Itu bisa menjadi demonstrasi yang bagus tentang pemaksaan tipe ... jika Anda menambahkan penjelasannya.
Leaky Nun
5

Pyke, 5 4 byte

`+b*

Coba di sini!

`    -    str(input)
 +   -   ^+input  (convert to string implicitly)
  b  -  int(^)
   * - ^*input

Juga 5 byte dengan input string

+bRb*
+]mbB
Biru
sumber
5

PHP, 25 24 byte

Tag pembuka pendek sangat berguna untuk beberapa tantangan golf, untungnya ini salah satunya. Sayangnya, prioritas operator adalah kebalikan dari urutan yang harus Anda lakukan sehingga diperlukan banyak tanda kurung.

<?=($a=$argv[1])*"$a$a";

sunting: Saya menyadari bahwa melihat bagaimana saya menggunakan tanda kurung, saya dapat secara efektif melewati operator gabungan dengan mengubah urutan tertulis dari operasi di sekitar.

pengguna55641
sumber
5

dc, 11 10 byte

ddZAr^1+**

Saya tahu bahwa pada akhirnya saya akan menemukan kegunaan untuk Zperintah!

Pengoperasiannya cukup sederhana - hitung digitnya, ambil 10 pangkat hingga kekuatan itu dan tambahkan satu. Ini memberikan pengganda yang menggabungkan angka dengan dirinya sendiri. Kemudian gandakan saja.

I / O menggunakan stack, seperti biasa untuk dc.

Program lengkap

Inilah yang saya gunakan untuk tes:

#!/usr/bin/dc
?
ddZAr^1+**
p

Dua perintah tambahan memberi kita I / O pipa.

Tes

$ for i in 1 2 3 10 174; do printf '%d -> ' $i; ./84712.dc <<<$i; done
1 -> 11
2 -> 44
3 -> 99
10 -> 10100
174 -> 30306276

Terima kasih kepada Sir Biden XVII (1 byte).

Toby Speight
sumber
Anda dapat menggantikan Auntuk 10menghemat satu byte. Sudah selesai dilakukan dengan baik!
Joe
4

Mumps, 11 byte

R I W I_I*I

Ini adalah salah satu tantangan golf langka di mana keistimewaan gondong bisa sangat berguna. Pertama, semua variabel adalah string, dan semua persamaan matematika secara ketat dievaluasi kiri-ke-kanan (seperti dalam: bukan PEMDAS), jadi 1 + 2 * 4 = 12 di Mumps bukannya = 9 seperti yang PEMDAS inginkan. Jadi, (hampir tidak) tidak diserang:

R I ;     Read from stdin to variable I
W I_I*I ; Write out I concatenated with I, then multiplied by I.

Kata hati-hati - karena rasa Mumps yang saya gunakan (InterSystems Ensemble) tidak menggemakan carriage return untuk stdin, input dan nomor output akan tampak digabungkan. Untuk memperbaiki / meningkatkan keterbacaan, Anda perlu menambahkan dua byte dan menambahkan manual CR / LF, dengan demikian:

R I W !,I_I*I

Namun, karena saya tidak melihat persyaratan itu dalam aturan tantangan, saya cukup yakin bahwa saya baik dengan kode yang lebih pendek. Jika saya salah, silakan LART saya dan saya akan mengubah jawaban saya. :-)

zmerch
sumber
4

PowerShell, 25 , 18 byte

Terima kasih TessellatingHeckler untuk mengingatkan saya betapa PS sangat menyukai pipeline.

18 byte baru:

process{$_*"$_$_"}

Lama 25 byte:

param($a);[int]"$a$a"*$a

Penjelasan:

# new
process{$_*"$_$_"}
process{         } # runs code block once for each passed item
        $_*        # multiple the first parameter
           "$_$_"  # concatenate as a string for ease
                   # in this case, the order does the typecasting for us
# old
param($a);[int]"$a$a"*$a
param($a)                 # assigns the first passed parameter to variable $a
         ;                # line terminator
          [int]           # type cast string "$a$a" to int32
               "$a$a"     # convert $a$a to string for easy concatenation
                     *$a  # multiply by $a

Pengujian (simpan sebagai boring.ps1):

# new
12 | .\boring.ps1
14544
174 | .\boring.ps1
30306276

# old
.\boring.ps1 12
14544
.\boring.ps1 174
30306276

Jelas bukan jawaban yang menang, tetapi menyenangkan terlepas dari!

ThePoShWolf
sumber
Jika Anda meletakkan variabel sebaliknya, int * string secara implisit akan melemparkan string ke int, dan Anda dapat menyimpan 5 byte casting. process{$_*"$_$_"}adalah 18 byte, dan mengambil input dari "stdin" (yaitu pipeline), misalnya174|script.ps1
TessellatingHeckler
Hmmm ... Poin yang menarik. Saya juga dapat mengganti mereka menggunakan struktur saya yang sama dan mencapai hasil yang sama:param($a);$a*"$a$a"
ThePoShWolf
Err, saya ambil kembali, milik saya satu byte lebih panjang!
ThePoShWolf
@TessellatingHeckler Hati-hati dengan jawaban itu, karena lingkungan REPL PowerShell tidak memenuhi syarat untuk program atau fungsi default . Sesuatu seperti param($n)$n*"$n$n"(apa yang dimiliki Darth, tanpa ;) panjangnya sama dan bukan REPL.
AdmBorkBork
@TimmyD mengapa test.ps1file yang terbaca dari pipa tidak dihitung? Apakah skrip bash shell membaca dari stdin juga tidak dihitung?
TessellatingHeckler
4

Batch, 27 20 18 byte

@cmd/cset/a%1%1*%1

Sunting: Disimpan 7 byte berkat @TessellatingHeckler. Menyimpan 2 byte lebih lanjut berkat @ EʀɪᴋᴛʜᴇGᴏʟғᴇʀ.

Neil
sumber
set /apada prompt menampilkan hasil penugasan. -> @cmd/c set/a n=%1%1*%1untuk 22 byte.
TessellatingHeckler
@TessellatingHeckler Mengapa repot menetapkan jika Anda menghasilkan?
Neil
@ TessellatingHeckler Huh, saya sudah melakukan trik ini sendiri enam minggu yang lalu, dan saya sudah lupa ..
Neil
@cmd/cset/a%1%1*%1untuk 18.
Erik the Outgolfer
1
@Neil Nope, tapi saya mengujinya (pada Windows 10!) Bagian cmd/cini diperlukan karena alat pengeksekusi file batch tidak dengan cmd sendirinya.
Erik the Outgolfer