Two Make The All Difference - Perampok

29

Untuk tantangan polisi utama, klik di sini

PEMBERITAHUAN - Tantangan ini sekarang sudah ditutup. Setiap retakan yang diposting sekarang tidak akan dihitung di papan peringkat dan jawaban yang diterima tidak akan berubah.

Tantangan

Dengan program asli, outputnya dan output dari program yang diubah, Anda harus mencari tahu karakter mana yang perlu diubah, dihapus atau ditambahkan untuk mendapatkan output yang diharapkan.

Ketika Anda memecahkan kode seseorang, tinggalkan komentar dengan tautan ke celah Anda pada jawaban mereka.

Memformat

# [<language>, <username of program owner>](<link to answer>)

## Description

<description of change and how you found it>

## Code

<changed code>

Kemenangan

Orang yang telah memecahkan sebagian besar solusi, menang.

Papan peringkat

13 celah:

  • Dennis

8 celah:

  • Alex Van Liew

5 celah:

  • Sp3000
  • isaacg

3 celah:

  • Luis Mendo
  • jimmy23013
  • Dom Hastings

2 celah:

  • mbomb007
  • Sluck49

1 celah:

  • TheNumberOne
  • Jakube
  • ProudHaskeller
  • David Zhang
  • samgak
  • paul.oderso
  • rayryeng
  • mgibsonbr
  • n̴̖̋h̷͉̃a̷̭̿h̸̡̅ẗ̵̨́d̷̰̀ĥ̷̳
  • Stewie Griffin
  • abligh
Peluruhan Beta
sumber
1
@ mbomb007 Bisakah Anda menahan diri dari mengedit posting ini, karena itu membuat saya lebih sulit untuk mengetahui keberadaan saya saat memperbarui leaderboard
Beta Decay

Jawaban:

10

CJam, oleh Mauris

Deskripsi

Kode asli Mauris melakukan hal berikut:

"f~"     e# Push that string on the stack.
    :i   e# Cast each to integer. Pushes [102 126].
      :# e# Reduce by exponentiation. Pushes 102^126.

Tidak ada operator matematika CJam lain yang akan menghasilkan angka yang besar untuk input kecil, sehingga :#tidak dapat dimodifikasi. Karena #, ketika digunakan untuk eksponensial, hanya mengambil bilangan bulat sebagai input, :itidak dapat dihapus juga. Ini hanya menyisakan satu tempat untuk memodifikasi input: string "f~".

Tidak peduli berapa banyak karakter yang dipegang oleh string, hasilnya akan menjadi menara kekuatan asosiatif-kiri. CJam mendukung karakter dalam rentang dari 0 hingga 65535 (dengan pengecualian pengganti), jadi kita harus mengekspresikan output sebagai b n × k × j , di mana b , n , k dan j adalah bilangan bulat dalam rentang itu.

Logaritma desimal bilangan bulat yang dihasilkan dari kode yang dimodifikasi sedikit lebih kecil dari log 10 (2.44 × 10 242545 ) = log 10 (2.44) + 242545 , jadi kita dapat membagi nilai ini dengan logaritma semua basis yang mungkin untuk menemukan nilai yang tepat untuk n × k × j .

Faktanya:

$ cjam <(echo '65536,2>{2.44AmL242545+1$AmL/i:I#s8<"24399707"=}=SIN')
5 347004

Membandingkan 8 digit pertama ternyata cukup.

Ini berarti bahwa kita dapat mengekspresikan output sebagai 5 347.004 = 15.625 57.834 = 125 9 × 102 × 126 , sehingga cukup untuk mengganti "f~"dengan "㴉"atau"} f~" .

Kode

"㴉":i:#

atau

"}  f~":i:#

Perhatikan bahwa spasi dalam kode ASCII seharusnya menjadi tabulator.

Mencoba untuk mengeksekusi kode ini dalam juru bahasa online mungkin merupakan ide yang buruk, tetapi inilah cara Anda dapat memverifikasi hasil dari baris perintah:

$ wget -q https://bpaste.net/raw/f449928d9870
$ cjam <(echo '[15625 57834]:c`":i:#") > mauris.cjam
$ cat mauris.cjam; echo
"㴉":i:#
$ cjam mauris.cjam | diff -s - f449928d9870
Files - and f449928d9870 are identical
$ echo -en '"}\tf~":i:#' > mauris-ascii.cjam
$ cat mauris.cjam; echo
"}  f~":i:#
$ cjam mauris-ascii.cjam | diff -s - f449928d9870
Files - and f449928d9870 are identical
Dennis
sumber
11
Seseorang tidak hanya mengalahkan Dennis di CJam
Fatalize
Bagaimana Anda mengetahui angka apa yang digunakan?
Alex Van Liew
@AlexVanLiew Brute force. Saya sedang menulis penjelasan. Saya hanya ingin agar celah diposting sebelum orang lain melakukannya.
Dennis
@ Dennis: Cukup adil. Saya mencoba yang ini tetapi saya tidak tahu CJam; Saya pikir solusi yang dimaksud sebenarnya melibatkan penggunaan ~fdi suatu tempat dalam program.
Alex Van Liew
1
@Mauris Pertanyaannya mengatakan ketika hanya dua karakter dalam program ini diubah (penekanan milikku), jadi saya menganggap ini baik-baik saja. Bagaimanapun, memfaktorkan angka adalah bagian yang sulit.
Dennis
15

Ruby, histokrat

Deskripsi

Mengubah x menjadi array alih-alih skalar dengan menambahkan *

Mengubah yang terakhir 9menjadi string alih-alih angka dengan menambahkan?

Hasilnya terbuat dari sebuah array dengan elemen tunggal ( [9]) dikalikan 9 kali kemudian meledak dengan "9"sebagai pemisah.

Kode

x=*9;puts x*9*?9
Razvan
sumber
12

Python 2, ikan lumpur

Deskripsi

Melalui uji coba dan kesengsaraan yang melibatkan pemberian faktor dalam jumlah besar dan mencari faktor konsequtif, saya menyadari bahwa mengubah 87654 menjadi 58116 sudah cukup. Kemudian, saya memfaktorkan 58116 sebagai 87 * 668. Kemudian saya menyadari bahwa 01234 = 668, jadi saya hanya perlu mengubah 87654 menjadi 87 dan menghapus 01234 sepenuhnya. Ini dilakukan dengan komentar.

Kode

print (sum(range(054321)*9876)*87)#654)/01234
isaacg
sumber
Ya, hampir persis seperti yang saya miliki (Tambang itu print sum(range(054321)*9876)*87#654)/01234)
Biru
Pintar pintar! Saya senang seseorang mendapatkannya, dan itu lebih menarik daripada "bermain dengan angka"!
Alex Van Liew
11

Shakespeare, AboveFire

Dalam Adegan III, seseorang harus mengubah Claudius menjadi Claudio dalam cuplikan berikut:

[Enter Claudio]

Claudius:
 Thou art as stupid as the sum of thee and the product of the 
 product of me and Helen and Helena

[Exeunt]

Kode yang dimodifikasi:

The Hidden Change.

Helen, a young woman with a remarkable patience.
Helena, a likewise young woman of remarkable grace.
Claudio, a remarkable man much in dispute with Claudius.
Claudius, the flatterer.
The Archbishop of Canterbury, the useless.


          Act I: Claudius's insults and flattery.

          Scene I: The insulting of Helen.

[Enter Claudius and Helen]

Claudius:
 Thou art as hairy as the sum of a disgusting horrible fatherless 
 dusty old rotten fat-kidneyed cat and a big dirty cursed war.
 Thou art as stupid as the product of thee and a fat smelly 
 half-witted dirty miserable vile weak son.

[Exeunt]

          Scene II: The complimenting of Helena.

[Enter Claudio and Helena]

Claudio:
 Thou art the sunny amazing proud healthy peaceful sweet joy.
 Thou art as amazing as the product of thee and the pretty
 lovely young gentle handsome rich Hero. Thou art as great 
 as the sum of thee and the product of a fair golden prompt good honest 
 charming loving noble king and a embroidered rich smooth golden angel.

[Exeunt]

          Scene III: The insulting of Claudio

[Enter Claudius and Helen]

Helen:
 Thou art as stupid as the sum of the sum of thee and a cat and me.
[Exit Helen]

[Enter Claudio]

Claudio:
 Thou art as stupid as the sum of thee and the product of the 
 product of me and Helen and Helena

[Exeunt]

          Scene IV: The Final Countdown

[Enter The Archbishop of Canterbury and Claudius]

Claudius:
 Thou art the sum of you and a cat.

The Archbishop of Canterbury:
 Am I better than a fine road?

Claudius:
 If not, let us return to the insulting of Claudio.

[Exit The Archbishop of Canterbury]

[Enter Claudio]

Claudius:
 Open your heart!
 Open your heart!
[Exeunt]

Menggunakan kompiler yang ditautkan oleh @AboveFire, ini mencetak 11.

plannapus
sumber
2
Bisakah Anda memperjelas karakter mana yang diubah? Tidak mudah melihat bolak-balik.
mbomb007
Sial, 15 menit terlambat. Selamat.
Sumyrda
2
Jeebus H. Christ. Pekerjaan yang baik!
rayryeng
1
@ mbomb007 Saya harap hasil edit saya membuatnya lebih jelas. AboveFire: sorry :)
plannapus
3
@plannapus Haha, tidak apa-apa, tetapi cara yang dimaksudkan untuk menghapusnya adalah mengganti kata "raja" dengan "babi". Dengan perubahan ini, Helena sama dengan 0 dan "jumlah kamu dan produk produk saya dan Helen dan Helena "sama dengan 1. Saya telah membuat daftar semua kata yang dapat dibalik dengan dua huruf dan menggunakan banyak dari mereka dalam kode saya (mis: joy-> hog-> son, war-> cat, road-> toad, Hero-> Hell, curse-> purse, helen-> helena, claudio-> claudius dan banyak lainnya) Satu-satunya hal yang dapat mengubah program Shakespeare dengan 2 char adalah perubahan variabel, perubahan variabel kata benda dan perubahan goto.
AboveFire
10

Prolog, Fatalkan

Deskripsi

Tambahkan dua \s.\adalah negasi bitwise dan\/ bitwise atau.

Kode

X is \1\/42.
Sp3000
sumber
Solusi yang benar
Fatalkan
7

C, LambdaBeta

Deskripsi

Berubah main(a,_)menjadi main(_). Argumen pertama main adalah argcyang diinisialisasi sebagai1 .

Kode

main(_){puts(_*_-1||_*_*_-1||_*_*_*_-1?"Expected Output":"?");}
TheNumberOne
sumber
Itulah solusi yang ada dalam pikiran saya. Tangkapan bagus. Kebetulan jika argv dimuat ke dalam sel memori 1 ini tidak akan berfungsi. Saya tidak bisa memikirkan sistem apa pun yang akan melakukan itu yang juga dapat menjalankan berbagai bahasa yang ditafsirkan pada halaman itu.
LambdaBeta
6

Python 2, rp.belrann

Ubah pemahaman daftar terluar menjadi pemahaman himpunan. Kredit sebagian ke @ mbomb007, yang menghilangkan semua solusi "membosankan" (swapping xdany berkeliling, mengutak-atik operator, mengubah kisaran).

'~'*sum({(x,y)[x%2] for x in[y for y in range(8)]})

Penjelasan:

Dalam aslinya, [(x,y)[x%2]for x in[y for y in range(8)]]buat daftar berikut:

[0, 7, 2, 7, 4, 7, 6, 7]

Ini karena dalam Python 2.7, ypemahaman daftar dalam bocor ke dalam lingkup terlampir pada nilai terakhir yang diketahui (yang, pada akhir rentang, adalah 7). Jadi, dalam tuple, yselalu 7. x, namun, melewati daftar seperti biasa, mulai dari 0 hingga 7. Kapan xgenap, ia memilih nilai x, ketika ganjil, ia memilih y(yang selalu 7). Saya perhatikan bahwa jika saya memasukkan tepat satu 7 dan semua nilai lainnya x, saya mendapat 19; kemudian saya menyadari bahwa saya bisa mengubah pemahaman luar menjadi pemahaman himpunan, yang akan menghilangkan semua nilai duplikat dan meninggalkan saya dengan tepat 19.

Ini cukup pintar, saya tidak berpikir saya pernah menggunakan pemahaman set sebelumnya. Pujian.

Alex Van Liew
sumber
nggak. Bukan itu. print len('~'*sum([(x,y)[x%2]for x in[y for y in range(6)]]))kembali 21. Cukup tetapkan kode ke variabel kemudian cetak jika itu sama dengan string yang Anda inginkan. Jika Anda melihat True, Anda memecahkannya.
mbomb007
Aneh. _mengkhianatiku, kurasa.
Alex Van Liew
@ mbomb007 Saya mengerti.
Alex Van Liew
Saya ketahuan. Sudah selesai dilakukan dengan baik.
rp.beltran
6

Jonas, Matlab / Oktaf

Deskripsi

Saya perhatikan jawabannya adalah i^pi, maka saya merasa harus berubah sinmenjadi tidak.

Kode

0i+(i^pi)

s-> 0, n->+

isaacg
sumber
Bagus, tuan.
rayryeng
Bagus sekali!!
Luis Mendo
5

Bash, Dennis

Kode asli:

echo {{{1..9}}}

Output asli:

{{1}} {{2}} {{3}} {{4}} {{5}} {{6}} {{7}} {{8}} {{9}}

Kode yang dimodifikasi:

echo {,{1..9},}

Output yang dimodifikasi:

1 2 3 4 5 6 7 8 9

Penjelasan:

Di Bash Anda dapat menampilkan daftar item yang dipisahkan koma di dalam sepasang kawat gigi, seperti ini:

echo {a,b,c}

cetakan

a b c

Jadi kode yang dimodifikasi mencetak daftar tidak ada, angka 1..9, tidak ada.

samgak
sumber
5

MATLAB, Luis Mendo

Kode asli:

-sin(2:.5:3)    
ans =    
   -0.9093   -0.5985   -0.1411

Jawaban baru:

psi(2:.5:3)
ans =
    0.4228    0.7032    0.9228

Deskripsi:

Diubah -sinmenjadi psi, fungsi poligamma di MATLAB. The -tanda diganti dengan pdan ndihapus.

Stewie Griffin
sumber
4

C, LambdaBeta

Deskripsi

Ubah -1menjadi *0sehingga hasil perkalian adalah 0(nilai palsu).

Kode

main(a,_){puts(_*_*_*_*_*0?"Expected Output":"?");}
Jakube
sumber
Ups, sepertinya saya memperkenalkan (celah keamanan?) Selama bermain golf. Aku akan memikirkannya untuk melihat apakah aku bisa memperbaikinya. Tangkapan yang bagus.
LambdaBeta
4

Brainfuck, Kurousagi

Deskripsi

Hapus yang pertama >dan ubah yang pertama <menjadi.

Diuji di brainfuck.tk . Perhatikan bahwa outputnya tidak sama persis dengan posting Kurousagi , karena SE memakan karakter yang tidak patut dicetak.

Kode

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.[>.+<-]
Sp3000
sumber
@muddyfish Saya menautkan jawaban ini di komentar kedua saya, tapi saya masih menunggu konfirmasi dari Kurousagi
Sp3000
4

Fantom, Kain

Keamanan melalui ketidakjelasan adalah bentuk keamanan yang sangat buruk (terutama ketika kedua metode berada tepat di sebelah satu sama lain dalam dokumen Fantom dan siapa pun yang tahu seperti apa pelampung akan segera tahu apa yang harus dilakukan).

Float.makeBits32(1123581321)
Alex Van Liew
sumber
1
Anda mendapatkan saya 1 menit !!! dimainkan dengan baik
AboveFire
1
Haha, Anda dapatkan saya, selamat menikmati crack gratis
Cain
@ Kain Apakah itu disengaja oo
The_Basset_Hound
1
@BassetHound Maksud saya, ini lebih merupakan eksperimen sosial, untuk melihat apakah orang mau repot-repot belajar bahasa yang tidak jelas untuk crack. Saya seharusnya membuatnya lebih sulit, untuk mengambil pekerjaan yang sebenarnya.
Kain
4

CJam, oleh Basset Hound

25me

Menghitung e 25 . Cobalah online.

Juru bahasa online memberikan hasil yang sedikit berbeda di browser saya, yang tampaknya menjadi masalah pembulatan.

Java interpreter mencetak 7.200489933738588E10, yang merupakan output yang diinginkan, tetapi dalam format yang berbeda.

Dennis
sumber
Hehe, itu mudah. Khusus untuk dewa CJam. Benar.
The_Basset_Hound
4

Python 2, Sp3000

Deskripsi

Diubah 01234ke 0x1234dan minke9in .

Fakta yang 4669 = (01234-1)*sum(m<<m in R for m in R)menyesatkan.

Kode

R=range(0x1234);print sum(m<<9in(m,n)for m in R for n in R)
jimmy23013
sumber
Bagus sekali! Saya pernah m<<m in(m,n), tetapi hal utama adalah untuk mengubah minke in.
Sp3000
4

MATLAB / Oktaf, Stewie Griffin

Deskripsi

Ini membutuhkan peniadaan input ke fungsi anonim g, serta mengubah faktor penskalaan gfungsi menjadi 2 alih-alih 7:

Kode

>> f=@(x)x^.7;g=@(x)2/f(x);g(-7)

ans =

  -0.3011 - 0.4144i
rayryeng - Reinstate Monica
sumber
Terima kasih atas komentar Anda pada jawaban saya (sekarang dihapus). Saya memposting yang baru (sangat mirip) yang dapat dipecahkan menggunakan WolframAlpha. Saya percaya ini lebih adil.
Dr. belisarius
4

Perl, abligh

Deskripsi

Tambahkan operator pengulangan string, xdan masukkan angka tambahan!

Kode

print sin 95x7
Dom Hastings
sumber
3

Java, TheNumberOne

Deskripsi

Program ini merupakan implementasi satu kali Random.next()dengan seed awal Integer.MAX_INTdan semua angka hex dikonversi menjadi desimal. Mengubah benih ke komplemen MAX_INTmenghasilkan output:

class T{public static void main(String[]a){System.out.print(((~Integer.MAX_VALUE^25214903917L)&281474976710655L)*25214903917L+11L&281474976710655L);}}

(karena pasti ada dua perubahan, pilih segala jenis perubahan no-op: menambahkan spasi di suatu tempat, titik koma ekstra, dll)

Alex Van Liew
sumber
1
Bagus, Anda juga bisa berubah Integer.MAX_VALUEmenjadi Integer.MAX_VALUE+1atauInteger.MIN_VALUE
TheNumberOne
Oh, tahu tidak? Saya mencoba +1tetapi karena saya melakukannya dengan Python, itu hanya berguling lama, ahaha. Sebenarnya itu adalah pikiran pertamaku.
Alex Van Liew
3

Brainfuck, AboveFire

program ini merupakan modifikasi dari kode ini saya jawaban cookie. jawaban itu bekerja dengan terlebih dahulu menghitung tabel kode ascii yang berguna dari karakter yang berguna, dan kemudian memiliki tiga pernyataan kondisional yang dibuat oleh tiga loop yang dimasukkan ke dengan memiliki1 posisi yang benar.

awal dari bagaimana saya memecahkan kode adalah bahwa pola berulang dalam output yang diubah sebagian besar adalah apa yang dicetak jika Anda memasukkan loop ketiga dengan tabel bergeser ke kiri.

++++++++++[->++++++++<]>>++++++[-<---------->]<-------[----------->>>-<<+<[->->+<<]]>>>+<<>>>+++[->++++++++++<]>(<)++ .<+++++++++[->>>>>>>++++++++++<+++++<++++++++++++++<++++++++++<+++++<++++++++++<<]++++++++++>>+++++...>++>++>-->+>(>)++++<<<<<<<.<<<[->>>>>>.<<>>>>>.<<<<<.>>>>>.<<<<<>>>.<<<<.>>>>>.<<<<.>>>>>.<<<<<.>>>>.<<<<<.>>>>.<<...>.<<<<<<]>[->>>>>.<<...>>>.<<<<.>>>>>.<<<<...>>>>.<<<<<.>>>>.<<...>.<<<<<]>[->>>>.<<>>>>>>.<<<<<<..>>>.<<<<.>>>>>.<<<<>>>>>>.<<<<<<.>>>>>>.<<<<<<>>>>.<<<<<.>>>>.<<...>.<<<<]

(karakter tambahan ditandai dengan tanda kurung)

haskeller bangga
sumber
3

Python 2, ikan lumpur

Deskripsi

Ubah <<ke <>(versi usang !=) dan 0x156ke 0156, titik kode untuk "n"(yang muncul 3 kali dalam string panjang 23)'<built-in function sum>' ).

Kode

print sum((ord(i)<>0156 for i in `sum`))
Sp3000
sumber
3

JavaScript, oleh Razvan

Deskripsi

Output yang dimodifikasi jelas nomor alami Euler, yang dapat diakses sebagai Math['E'].

Dengan mengubah ''ke '3'dan 32ke 36, String.fromCharCodemenghasilkan E.

Kode

a=1,b=a*2,c=a+b,d=[a+b];while(c>b)c-=a;for(i=1;i<=c;i++)d.push(i);i='3'+c*d['length']*d['length'];alert(Math[String.fromCharCode(i.charCodeAt(0) * i.charCodeAt(1) / 36)])
Dennis
sumber
Ya itu benar. Tetap saja itu sebenarnya sesuatu yang lebih dalam tetapi tampaknya Anda bisa memotongnya dengan trik ini. Saya akan memikirkan sesuatu yang lain dan saya akan kembali.
Razvan
3

Fantom, Kain

Deskripsi

Pengindeksan array sudah diatur, jadi saya hanya perlu membuat 55. Jujur, bagian tersulit adalah mengunduh bahasa.

Kode

[7115432d/9,219.or(64),37,55,55][3]

(Dimasukkan koma, 0-> 3)

isaacg
sumber
Ya ampun, itu bukan solusi yang dimaksudkan, herring merah saya adalah solusi yang sebenarnya
Kain
3

Shakespeare, AboveFire

BUKAN BENAR - maaf :(

Akan melihat lebih jauh ke dalamnya ketika saya pulang dari kerja. Dalam nilai Claudio asli adalah 1132462081 dan nilai Claudius adalah 1

Dalam adegan terakhir, nilai Claudio dicetak dua kali,

[Enter Claudio]

Claudius:
 Open your heart!
 Open your heart!

buka hatimu x2 = nilai cetak orang lain di atas panggung (Claudio). Jadi jika Anda mengubah Claudius ke Claudio (2 karakter) - nilai Claudius akan dicetak - yaitu 1 - dua kali

The Hidden Change.

Helen, a young woman with a remarkable patience.
Helena, a likewise young woman of remarkable grace.
Claudio, a remarkable man much in dispute with Claudius.
Claudius, the flatterer.
The Archbishop of Canterbury, the useless.


          Act I: Claudius's insults and flattery.

          Scene I: The insulting of Helen.

[Enter Claudius and Helen]

Claudius:
 Thou art as hairy as the sum of a disgusting horrible fatherless 
 dusty old rotten fat-kidneyed cat and a big dirty cursed war.
 Thou art as stupid as the product of thee and a fat smelly 
 half-witted dirty miserable vile weak son.

[Exeunt]

          Scene II: The complimenting of Helena.

[Enter Claudio and Helena]

Claudio:
 Thou art the sunny amazing proud healthy peaceful sweet joy.
 Thou art as amazing as the product of thee and the pretty
 lovely young gentle handsome rich Hero. Thou art as great 
 as the sum of thee and the product of a fair golden prompt good honest 
 charming loving noble king and a embroidered rich smooth golden angel.

[Exeunt]

          Scene III: The insulting of Claudio

[Enter Claudius and Helen]

Helen:
 Thou art as stupid as the sum of the sum of thee and a cat and me.
[Exit Helen]

[Enter Claudio]

Claudius:
 Thou art as stupid as the sum of thee and the product of the 
 product of me and Helen and Helena

[Exeunt]

          Scene IV: The Final Countdown

[Enter The Archbishop of Canterbury and Claudius]

Claudius:
 Thou art the sum of you and a cat.

The Archbishop of Canterbury:
 Am I better than a fine road?

Claudius:
 If not, let us return to the insulting of Claudio.

[Exit The Archbishop of Canterbury]

[Enter Claudio]

Claudio: << changed Claudius to Claudio
 Open your heart!
 Open your heart!
[Exeunt]
Alex Carlsen
sumber
Tidak, nilai Claudio bukan 1 xD. Semoga lain kali lebih beruntung.
AboveFire
@AboveFire - kasar .. Saya akan melihat lagi ketika saya sampai di rumah, benar-benar berpikir saya memilikinya :(
Alex Carlsen
Itu tebakan pertamaku juga, tapi aku belum punya kesempatan untuk mencobanya. Ngomong-ngomong, satu-satunya bagian yang aku belum mengerti adalah bagian dengan uskup agung jadi aku akan melihatnya ketika aku pulang.
Sumyrda
3

VBA oleh JimmyJazzx

Diubah IRRmenjadi MIRRdan diubah 5menjadi a, jadi ada 3 parameter.

Saya menemukan ini sambil mencari cara kerja IRRfungsi Excel . Ada sebuah artikel: Bagaimana Fungsi MIRR Excel Dapat Memperbaiki Fungsi IRR . Itu memberi saya informasi. Namun, upaya pintar. Saya belum pernah menggunakan VBA sebelumnya, jadi itu menarik juga.

Sub q()
Dim a(2) As Double
a(0)=-5
a(1)=10
msgBox MIRR(a,0.2,3)
End Sub
mbomb007
sumber
Bagus. Secara teknis saya menambahkan M dan, jadi arg tengah 0,25 tetapi saya pikir mereka akhirnya memiliki hasil yang sama. Pemikiran menggunakan beberapa fungsi keuangan dapat membuat para programmer bingung tetapi diungkapkan oleh dokumentasi.
Kerja
3

Matlab / Oktaf, Jonas

Deskripsi

Di baris terakhir, tambahkan 'untuk mentransformasikan arg'ke dalam string 'arg', yang kemudian akan ditafsirkan sebagai angka ASCII. Dan kemudian tambahkan yang lain 'di akhir untuk mempertahankan format kolom.

Hampir tidak perlu 'dalam kode asli adalah petunjuk utama. Juga, dalam restrospeksi, fakta yang argdidefinisikan secara terpisah (bukan langsung dalam singaris) seharusnya terlihat mencurigakan.

Kode

format long
arg = [.1 .2 .3];
sin('arg'*exp(9))'
Luis Mendo
sumber
3

bc, abligh

Hanya memasukkan operator matematika. Butuh sekitar 1 menit untuk menyelesaikan setelah saya mencari apa itu bc dan operasi matematika apa yang dimilikinya. Hal pertama yang saya pikirkan adalah pembagian, tetapi tidak ada faktor umum yang terlihat bagus. Jadi saya segera pergi untuk eksponensial dan modulus. Setidaknya 15 digit diperlukan untuk modulus b / c dari output yang diharapkan. Setelah itu, saya menebak dua kali dan menemukannya.

4518^574%615489737231532
mbomb007
sumber
3

Lua, TreFox

Deskripsi

"_G" adalah tabel global, membuat "_G.load" merujuk ke fungsi global "memuat". Mengonversi fungsi ke string menghasilkan pengembalian alamat fungsi, yang kemudian dibuat menjadi panjang string oleh operator panjang "#".

Kode

G={load="lfkjgGsHjkU83fy6dtrg"}
print(#tostring(_G.load))

Juga, karena ini adalah posting pertama saya di sini, saya tidak dapat membuat komentar pada jawaban aslinya.

Xrott
sumber
Saya telah meninggalkan komentar pada jawaban polisi. Ngomong-ngomong, ini tidak cukup untukku. Alamat yang saya dapatkan adalah 0x321a40c6d0, untuk hasil akhir dari 22.
Dennis
Saya tidak yakin mengapa Anda mendapatkan 22 ... pada semua yang saya uji adalah 18 atau 26.
TreFox
@Dennis Cobalah di demo lua resmi.
Xrott
Aha, saya sudah sangat dekat! Saya tahu saya membutuhkan global load, dan saya tahu _Gmerujuk ke tabel simbol global ... Saya hanya tidak menggabungkan keduanya.
Alex Van Liew
3

Python, rp.beltran

Deskripsi

Saya perhatikan bahwa huruf yang dibutuhkan selalu 2 di depan angka. mengubah yang ketiga \wuntuk \dmendapatkan semua huruf yang tepat kecuali spasi. \Dadalah satu-satunya\ kelompok yang dapat saya temukan yang memungkinkan huruf dan spasi.

Kode

import re;''.join(re.findall('\D(?=\w\d)','t74q joh7 jv f9dfij9j bfjtf0e nnjen3j nnjrb6fgam3gtm5tem3hj s3eim7djsd3ye d5dfhg5un7ljmm8nan3nn6n k m2ftm5bsof5bf r5arm4ken8 adcm3nub0 nfrn6sn3jfeb6n d m6jda5 gdif5vh6 gij7fnb2eb0g '))

w-> D, w-> ddi regex.

isaacg
sumber
3

Pyth, isaacg

Deskripsi

Kode asli melakukan hal berikut:

 CG      Convert "abcdefghijklmnopqrstuvwxyz" from base 256 to integer, yielding
         156490583352162063278528710879425690470022892627113539022649722.
   ^3y21 Compute 3^(2 * 21).
%        Calculate the modulus.

Sejak 156490583352162063278528710879425690470022892627113539022649722 - 58.227.066 memberikan 156490583352162063278528710879425690470022892627113538964422656 , yang sama dengan 2 26 × 3 × 7 × 7477 × 381.524.422.711 × 17007550201751761 × 2288745700077000184147 , output yang diinginkan dapat diperoleh dengan mengganti ^3y21dengan sesuatu yang mengevaluasi ke pembagi dari produk ini dan lebih besar dari 58.227.066 .

Dalam ^kode asli menunjukkan bahwa kita dapat menggunakannya untuk menghitung kekuatan 2 , 3 bahwa kita dapat menghitung pembagi yang pas dari bentuk 3 × 2 n .

Keduanya menyesatkan. Solusi dengan jarak Levenshtein dari 3 ( %CG^2 26, %CG^y2 13, %CG^4y13) atau 4 ( %CG.<3y13) yang mudah ditemukan, tetapi solusi pada jarak 2 membutuhkan pendekatan yang berbeda.

Alfabet huruf kecil ( G) memiliki 26 huruf, jadi set dayanya (himpunan dari semua urutan huruf kecil yang meningkat secara ketat) memiliki 2 26 elemen. Dengan mengganti y2denganyG , kami menghitung set daya ini.

Kita dapat mengambil panjang set dengan menggantinya 3denganl , yang membuat kita ^lyG1, yaitu, 2 26 dinaikkan ke kekuatan pertama.

Kode

%CG^lyG1

Perhatikan bahwa ini hanya akan bekerja pada komputer dengan memori yang cukup tersedia (kira-kira 6,43 GiB, menurut time), sehingga tidak akan berfungsi dengan penerjemah online.

Inilah cara Anda dapat memverifikasi hasil dari baris perintah:

$ \time -v pyth -c '%CG^lyG1'
58227066
        Command being timed: "pyth/pyth.py -c %CG^lyG1"
        User time (seconds): 30.73
        System time (seconds): 2.12
        Percent of CPU this job got: 100%
        Elapsed (wall clock) time (h:mm:ss or m:ss): 0:32.85
        Average shared text size (kbytes): 0
        Average unshared data size (kbytes): 0
        Average stack size (kbytes): 0
        Average total size (kbytes): 0
        Maximum resident set size (kbytes): 6742564
        Average resident set size (kbytes): 0
        Major (requiring I/O) page faults: 0
        Minor (reclaiming a frame) page faults: 2269338
        Voluntary context switches: 1
        Involuntary context switches: 58
        Swaps: 0
        File system inputs: 0
        File system outputs: 0
        Socket messages sent: 0
        Socket messages received: 0
        Signals delivered: 0
        Page size (bytes): 4096
        Exit status: 0
Dennis
sumber
Benar! Sudah selesai dilakukan dengan baik.
isaacg