Anda telah disewa oleh pemerintah North Dakota untuk mengenkripsi komunikasi negara. Tulis dua program, satu untuk mengenkripsi pesan dan satu lagi untuk mendekripsi pesan itu.
Pemerintah tidak benar-benar mengerti teknologi, sehingga algoritma enkripsi tidak perlu canggih; pastikan hasilnya tidak terlihat mirip dengan aslinya pada pandangan pertama.
Namun, Anda diam-diam setia kepada pemerintah Dakotan Selatan. Tugas Anda adalah mencampuradukkan komunikasi, sehingga setiap penyebutan North Dakota
menjadi South Dakota
saat dekripsi, dan sebaliknya. Ini juga berlaku untuk North/South Dakotan
dan North/South Dakotans
.
Sebagai contoh:
Dakota Utara adalah daerah terkaya di Amerika Utara, sementara Dakot Selatan lebih miskin daripada Florida selatan. - pemerintah Dakotan Utara
akan menjalani enkripsi lalu dekripsi, menghasilkan:
Dakota Selatan adalah daerah terkaya di Amerika Utara, sementara Dakotan Utara lebih miskin daripada Florida selatan. - pemerintah Dakotan Selatan
Algoritme yang menyelesaikan ini dengan cara yang paling rahasia dan rumit, sebagaimana dibuktikan dengan memiliki suara terbanyak, akan diterima.
string.replace
pekerjaan sederhana ? Karena Anda mengatakan orang-orang tidak benar-benarJawaban:
Rubi
Demo
sumber
CJam
Ini adalah pembuat enkode:
dan ini adalah dekoder:
Cobalah online di sini
Ini hanya bekerja dengan modal
N
,S
danD
dalamNorth/South Dakota
Lewati string input ke fungsi pertama dari STDIN. Dapatkan string yang disandikan, kirimkan ke fungsi kedua untuk mendapatkan hasil dekode dan konversi.
sumber
.
antaraHaHaHaHa!
danThe
?364380128038419794871782113211824472986419260504039724627500790722811712426518562428698978399810134993565366126560239807690210155343815201005388714282
.Jawa
Saya menemukan bahwa pembagian dengan nol tidak menyebabkan kesalahan dalam program ini. Program ini sepenuhnya menyandikan string ke dalam bentuk yang tidak dapat dilacak ke pemerintah Dakotan Utara. Karena perilaku aneh yang disebutkan di atas, pengodean dan pengodean ulang mungkin tidak berfungsi dengan benar dalam semua kasus.
Pertanyaan: Apa yang
funnyNumber
sama?sumber
join
keString
kelas? * Perayaan senyap! *funnyNumber
memiliki nilaii - 2
. Saya pribadi tidak merasa bahwa karakter tersembunyi di unicode sangat curang.i - 2
.\u
bekerja di luar string.System.out.println(2+\u002f*2/0*\u002f+-2)
.JavaScript
Solusi saya mungkin bukan yang paling pintar. Tapi berhasil :) Ini biola
Pertama saya ganti
north d
denganhisdf
dansouth d
denganhisde
, kemudian saya membalikkan semua karakter bitwise dan mendorong mereka dalam array. Array yang saya konversikan menjadi sebuah string dan kemudian ganti nilai karakter yang terbalik dengan yang benar. Sebelum itu, saya mengganti nilai-nilaihisdf
danhisde
beralih.sumber
hisde
suatu tempat?north d
dansouth d
:)AWK: Encoder: 165 byte, Decoder: 61 byte
Encoder (juga bertugas menggantikan Selatan oleh Utara dan sebaliknya):
Dekoder:
Beberapa tes:
disandikan ke:
(yang harus diacak untuk pemerintah yang tidak benar-benar mengerti teknologi : o))
Itu kemudian diterjemahkan menjadi:
Tapi itu yang diharapkan: o)
Catatan: Dakota Utara, Dakotan Utara, Dakotan Utara, Dakota Selatan, Dakotan Selatan, dan Dakotan Selatan harus menggunakan huruf besar dengan benar.
sumber
C
Kompilasi dengan:
gcc -Wall -Wextra -Wno-missing-field-initializers -Wimplicit -Wreturn-type -Wunused -Wformat -Wswitch -Wshadow -Wwrite-strings -DGCC_WARN -ansi -pedantic file.c
Untuk kejahatan maksimum, ditulis dalam K&R C dengan sedikit penyalahgunaan pointer.
Lasciate ogni speranza, voi ch'entrate.
Buśhaīila rukgâī, naǵkxarańga ba tdhuløk.
Juga, semuanya ada di
bits
fungsi dangenkey
fungsi.Menjalankan:
Catatan: Saat menentukan kunci dalam
decrypt
mode, mungkin perlu untuk melarikan diri beberapa karakter dalam kunci dengan garis miring terbalik.sumber
JavaScript, ES6
Manis dan sederhana untuk memulai.
Encoder:
Dekoder:
Cobalah di bawah ini di Firefox terbaru:
sumber
dakotan
dengandakota
:)North Dakotan
tidakNorth Dakota
sama berlaku untuk selatan