Atasan Anda mengetahui bahwa banyak karyawannya (termasuk Anda) suka mencuri kode dari orang lain. Dia memerintahkan Anda untuk menulis kepadanya sebuah program yang dapat ia gunakan untuk menemukan orang yang mencuri kode dari orang lain.
Tugas:
Tulis program / fungsi yang mendeteksi jika seseorang menyalin (bagian dari) kodenya dari tempat lain.
Program akan mendapatkan semua program yang ada dan program yang harus diuji dari dua input terpisah . Sunting: Karena tidak ada jawaban sejauh ini, Anda dapat menggunakan ekspresi reguler!
Keluaran
- Program kemudian harus menampilkan semua potongan kode yang dicuri, dipisahkan oleh spasi atau baris baru. (Mungkin ada spasi atau baris baru di akhir.)
- Sepotong kode dianggap dicuri / disalin jika terdiri dari 10 atau lebih byte berturut-turut . (Maaf, penggemar Java!)
- Anda harus menghasilkan sebanyak mungkin, tetapi jika ada yang tumpang tindih, Anda dapat mengabaikan salah satu dari mereka atau mengeluarkan keduanya.
Memutar:
Seperti disebutkan sebelumnya, Anda juga suka pengkodean lakban. Itu berarti, semua yang ada dalam kode Anda akan disalin dari situs pertukaran tumpukan! Anda dapat menyalin apa pun yang Anda inginkan (tidak terbatas pada kode dalam blok kode) dan sebanyak yang Anda inginkan. (Tapi setidaknya 10 byte) (Aturan yang sama seperti di atas tentang apa yang dianggap dicuri / disalin). (Harap perhatikan bahwa jawaban apa pun yang diposting setelah pertanyaan ini tidak dapat digunakan.) Harap berikan tautan ke tempat Anda mendapatkan kode dari.
Contoh:
Input:
x = document.getElementById("ninja'd");
( Input pertama)
y = document.getElementById("id");
(Input kedua)
Keluaran:
= document.getElementById("
Input:
foo
( Input pertama)
foo+bar
(Input kedua)
Output:
Tidak Ada.
Input:
public static void main(String[] args)
( Input pertama)
public static void main(String[] args)
(Input kedua)
Keluaran:
main(String[] args)
Input:
for(var i=0; i<x.length; i++){}
( Input pertama)
for(var i=0; i<oops.length; i++){break;}
(Input kedua)
Keluaran:
for(var i=0; i<
.length; i++){
atau
for(var i=0; i< .length; i++){
sumber
Jawaban:
Python 2, 224 byte
Disalin dari jawaban ini :
get_matching_blocks()
disalin dari jawaban inidisalin dari pertanyaan ini
for start, _, size in
disalin dari jawaban ini dan kejadian keduasimilar(a, b)
disalin dari tempat yang sama dengan yang pertama.if(size > 9)
disalin dari pertanyaan ini .disalin dari pertanyaan ini
a[start:
disalin dari jawaban ini .dan akhirnya,
start+size]
disalin dari questipn iniAkhirnya dijawab setelah satu setengah tahun ...
sumber