লেভেনস্টেইন দূরত্ব এবং ওইআইএস (ডাকাত)


11

এটি ডাকাত পোস্ট। কপ পোস্ট এখানে


আপনার টাস্ক একটি পূর্ণসংখ্যা ইনপুট নিতে হয় এন এবং আউটপুট N তম ক্রমানুসারে অঙ্ক OEIS A002942

ক্রমটি পিছনে লেখা বর্গ সংখ্যা নিয়ে গঠিত:

1, 4, 9, 61, 52, 63, 94, 46, 18, 1, 121, 441, ...

নোট করুন যে নেতৃস্থানীয় শূন্যগুলি ছাঁটাই হয়ে গেছে ( 100 হয়ে যায় 1 , 001 নয় )। এটিকে স্ট্রিং (বা একটি দীর্ঘ সংখ্যা দেয়) হিসাবে প্রতিবিম্বিত করা:

1496152639446181121441

আপনি এই স্ট্রিং / সংখ্যায় নবম সংখ্যা আউটপুট করতে হবে । আপনি এন- কে 0-ইনডেক্সড বা 1-ইনডেক্সেড হিসাবে বেছে নিতে পারেন (দয়া করে আপনি কোনটি চয়ন করবেন তা উল্লেখ করুন)।

পরীক্ষার কেস (1-ইনডেক্সড):

N = 5,      ==> 1
N = 17,     ==> 1   <- Important test case! It's not zero.
N = 20,     ==> 4
N = 78,     ==> 0
N = 100,    ==> 4
N = 274164, ==> 1

আপনার কোডটি এন = 2 ^ 15 অবধি সংখ্যার জন্য কাজ করা উচিত (যদি না আপনার ভাষা ডিফল্টরূপে 32 বিট পূর্ণসংখ্যা পরিচালনা করে না, তবে N কম হতে পারে)।


ডাকাতের:

আপনার ছেলের পোস্টগুলিকে ক্র্যাক করার চেষ্টা করা উচিত।

আপনার কোড অবশ্যই কপ পোস্টের মতো একই ভাষায় থাকতে হবে এবং পুলিশ দ্বারা প্রদত্ত দূরত্বের ঠিক সমান একটি লেভেনস্টেইনের দূরত্ব থাকতে হবে। আপনার কোডটি মূল সমাধানের চেয়ে দীর্ঘ হতে পারে না (তবে এটি একই আকার হতে পারে)।

আপনি এখানে লেভেনস্টাইন দূরত্ব পরীক্ষা করতে পারেন !

বিজয়ী হলেন ডাকাত যা সর্বাধিক পোস্টকে ক্র্যাক করেছে।


অপেক্ষা করুন ... সুতরাং যদি ডাকাতটির ফলাফলটি মূল উদ্দেশ্যে করা প্রোগ্রামের মতো না হয় ... পুলিশ কি কেবল একটি প্রোগ্রাম লিখে একটি দূরত্ব তৈরি করতে পারে না ...?
ম্যাজিক অক্টোপাস আরন

ঠিক আছে, জমাগুলি নিরাপদ হিসাবে চিহ্নিত করতে এবং জয়ের জন্য যোগ্য হওয়ার জন্য পুলিশদের অবশ্যই বিকল্প কোড সরবরাহ করতে হবে। আমি পুলিশ পোস্টে স্পষ্ট করে দিয়েছি। :)
স্টিভি গ্রিফিন

আমি কখনও কোনও পুলিশ-ডাক্তার চ্যালেঞ্জ চেষ্টা করি নি। এই সব আমার খুব বিভ্রান্ত হাহ!
ম্যাজিক অক্টোপাস আরন

উত্তর:



3

জাভাস্ক্রিপ্ট, আরনাউল্ড

/*ZZ*/m=>[...Array(m+1).keys()].map(eval(atob("eD0+K1suLi4iIit4KnhdLnJldmVyc2VgYC5qb2luYGA="))).join``[m]

1
@ আরনল্ড ওকে, আমার মনে হয় Array(m+1)এটি ঠিক হয়ে গেছে।
লিন

এটা করে. এফডাব্লুআইডাব্লু, আমি আমার পোস্টে উদ্দেশ্য সমাধানটি যুক্ত করেছি।
আর্নৌল্ড



2

6502 মেশিন কোড (সি 64), ফেলিক্স পামেন

আমি সমস্ত প্রশ্ন পরীক্ষার কেস এবং বেশ কয়েকটি অতিরিক্ত (যেমন 2 ^ 15 ... কিছুটা সময় নিয়েছিল) দিয়ে এটি পরীক্ষা করেছি এবং এটি এলডি = 1 দিয়ে মূল হিসাবে একই রকম কাজ করে বলে মনে হচ্ছে।

00 C0 20 FD AE A0 00 99 5B 00 C8 20 73 00 90 F7 99 5B 00 A2 0B CA 88 30 09 B9
5B 00 29 0F 95 5B 10 F3 A9 00 95 5B CA 10 F9 A9 01 A0 03 99 69 00 88 10 FA A0
20 A2 76 18 B5 E6 90 02 09 10 4A 95 E6 E8 10 F4 A2 03 76 69 CA 10 FB 88 F0 11
A2 09 B5 5C C9 08 30 04 E9 03 95 5C CA 10 F3 30 D6 A2 03 B5 69 95 57 CA 10 F9
A9 01 85 FB A2 03 A9 00 95 FB CA D0 FB A2 03 B5 FB 95 22 95 26 CA 10 F7 A9 00
A2 03 95 69 CA 10 FB A0 20 A2 02 46 25 76 22 CA 10 FB 90 0C A2 7C 18 B5 AA 75
ED 95 ED E8 10 F7 A2 7D 06 26 36 AA E8 10 FB 88 10 DD A0 0B A9 00 99 5A 00 88
D0 FA A0 20 A2 09 B5 5C C9 05 30 04 69 02 95 5C CA 10 F3 06 69 A2 FD 36 6D E8
D0 FB A2 09 B5 5C 2A C9 10 29 0F 95 5C CA 10 F4 88 D0 D7 E0 0A F0 05 E8 B5 5B
F0 F7 09 30 99 5B 00 C8 E8 E0 0B F0 04 B5 5B 90 F1 88 B9 5B 00 C9 30 F0 F8 A2
7C 18 B5 DB E9 00 95 DB E8 10 F7 90 14 88 30 05 B9 5B 00 D0 EA A2 7C F6 7F D0
03 E8 10 F9 4C 73 C0 B9 5B 00 4C D2 FF

অনলাইন ডেমো , ব্যবহার: sys49152, n যেখানে এন 0-ইনডেক্সড ইনপুট।


এটা সঠিক কারণ আপনি কিছু পাওয়া একদম বেহুদা কোড আমি সচেতন ছিল না এবং পরিবর্তন হয় এই কোড: ণ
ফেলিক্স Palmen

1

লুয়া , ক্যাটেনকিও

i=1s=""while(#s<...+0)do s=s..((i*i)..""):reverse():gsub("(0+)(%d+)$","%2")i=i+1 end
print(s:sub(...,...))

এটি অনলাইন চেষ্টা করুন!

আমি লুয়া জানি না, তবে এটি ছিল একটি সহজ, সবেমাত্র একটি স্থান নতুন নিউলাইন দিয়ে।


হাম, যে আমার মনে হয়নি, মূল প্রতিস্থাপন সম্পর্কে ছিল (0+)(%d+)$সঙ্গে (0+)(%d+), তাই এটি ^^ Regex সম্পর্কে 'ছিল
Katenkyo

1

9 সেকেন্ডের মধ্যে Ninja'd: পি
ঊরীয়েল

হু মজার, আমার ছিল না তবে এটি সুন্দর ছিল :)
হাইপারনিউটারিনো

এর ''পরিবর্তে আপনিও করতে পারেন""
উরিল

@ উরিল হ্যাঁ, আমি বিকল্পগুলির একটি টোন জানি।
মিঃ এক্সকোডার

একটি বিকল্প ক্র্যাক হবে lambda i:"".join(str( (-~k)**2)[::-1]for k in range(i+1))[i]
এরিক আউটগল্ফার

1

পাইথন 2 , ডাইলান

d=lambda y:y if y%10>0 else d(y/10)
lambda n:''.join([str(d(x*x))[::-1]for x in range(1,n+1)])[n-1]#fix

এটি অনলাইন চেষ্টা করুন!

দ্রষ্টব্য: এই পুলিশ জমা দেওয়ার ব্যগটি করা হয়েছিল এবং 5 এর চেয়ে কম ইনপুটগুলির জন্য কাজ করেনি আমি যখন ছিলাম আমি এই সমাধানটি তৈরি করেছি যার সঠিক লেভেনস্টাইন দূরত্ব রয়েছে এবং বাগটি ঠিক করে।


1

পার্ল 5, (-পি) এক্সকালি

মন্তব্যের পরে আপডেট হয়েছে, লেভেনস্টাইন এর মধ্যে দূরত্ব

a$j.=int reverse$_**2for 1..$_;$_--;say$j=~s/.{$_}(.).*/$1/r

এবং

p$_=substr w.(join"",map{whyddwzz;0|reverse$_**2}1..$_),$_,1

55 হয়

এটি অনলাইনে চেষ্টা করুন


এম 5.010 "ফ্রি" দেওয়া, আমার মনে হয় না এটি এখানে গণনা করা উচিত। -aবনাম -pপতাকাগুলি কীভাবে গণনা করা যায় তা আমি সত্যই নিশ্চিত নই । আমি যে দুটি সমাধান নিয়ে এসেছি উভয়ই একই পতাকা ব্যবহার করেছি। আমি মনে করব পতাকাটি কোনও স্থান ছাড়াই সামনের দিকে সরিয়ে দেওয়া হবে, তবে আমি তাতে অন্যরা দ্বারা বয়ে যেতে চাই।
এক্সকালি

আমার উত্তর আপডেট করেছে
নাহুয়েল ফুইলুল

1

জাভা 8, কেভিন ক্রুইজসেন

/*!FooBarFooBarFoo!*/N->{String R="",T=R;for(int I=1,J;N+2>R.length();I++){for(T="",J=(I*I+"").length();0<J;T+=(I*I+"").charAt(--J));R+=new Long(T)+"";}return R.charAt(N);}

এটি অনলাইন চেষ্টা করুন!

লগ পরিবর্তন করুন

  • .replaceAll()সঙ্গে প্রতিস্থাপন new Long()
  • নিখুঁত স্কোয়ারগুলির জন্য পরীক্ষা সরানো হয়েছে। এখন সরাসরি নিখুঁত স্কোয়ার ব্যবহার করা।
  • সমস্ত পরিবর্তনশীল নামগুলি বড় হাতের অক্ষরে আপডেট হয়েছে।
  • অসমতার পুনর্লিখন।
  • এবং অবশেষে সঠিক এলডিতে পৌঁছানোর জন্য 21-বাইট শীর্ষস্থানীয় মন্তব্য যুক্ত করেছে।

1
ওহ্হ দারুন. এটি আমার মনে রাখার চেয়ে সম্পূর্ণ আলাদা, তবে আপনি যেভাবেই 92 এলডি পেয়েছিলেন তা চমৎকার। আমার মনে যে সমাধানটি ছিল তা হ'ল: n->{String r="";for(int i=1;r.length()<=n+1;r+=new Long(new StringBuffer(i*i+++"").reverse()+""));return r.charAt(n);}( আমার অন্যান্য উত্তরের তুলনায় 118 বাইট, 92 এলডি ।)
কেভিন ক্রুইজসেন

1

অক্টাভা , স্টিও গ্রিফিন

@(n)regexprep(fliplr(num2str((1:n)'.^2))'(:)',' +0*','')(n)%abcdefghijk

এটি অনলাইন চেষ্টা করুন!

আমি আসলে আমার নিজের অক্টাভ উত্তরটি চেষ্টা করছিলাম এবং বিদ্যমানটি খুঁজে পেয়েছি। খনি ইতিমধ্যে উল্লেখযোগ্যভাবে খাটো ছিল তাই প্রান্তে একটি মন্তব্য যুক্ত করা প্রয়োজনীয় প্রয়োজনীয় দূরত্ব to৩ পেতে যথেষ্ট ছিল।


শাবাশ :-) আমি একটি লুপ ছিল input()এবং সবকিছু এটি সঙ্গে যায় ...
Stewie গ্রিফিন


0

6502 মেশিন কোড (সি 64), ফেলিক্স পামেন

একটি "সাধারণ" ক্র্যাকও হতে পারে তবে এটি আসল হিসাবে কাজ করে বলে মনে হচ্ছে
এলডি = 1 থাকা এটিকে ক্র্যাক করার চেষ্টা করার জন্য খুব লোভনীয় (দুঃখিত, ফেলিক্স)। :)

00 C0 20 FD AE A0 00 99 5B 00 C8 20 73 00 90 F7 99 5B 00 A2 0B CA 98 88 30 09
B9 5B 00 29 0F 95 5B 10 F2 95 5B CA 10 FB A0 20 A2 76 18 B5 E6 90 02 09 10 4A
95 E6 E8 10 F4 A2 03 76 69 CA 10 FB 88 F0 11 A2 09 B5 5C C9 08 30 04 EB 03 95
5C CA 10 F3 30 D6 A2 03 B5 69 95 57 CA 10 F9 A9 01 85 FB A2 03 A9 00 95 FB CA
D0 FB A2 03 B5 FB 95 22 95 26 CA 10 F7 A9 00 A2 03 95 69 CA 10 FB A0 20 A2 02
46 25 76 22 CA 10 FB 90 0C A2 7C 18 B5 AA 75 ED 95 ED E8 10 F7 A2 7D 06 26 36
AA E8 10 FB 88 10 DD A2 0B A9 00 95 5A CA D0 FB A0 20 A2 09 B5 5C C9 05 30 04
69 02 95 5C CA 10 F3 06 69 A2 FD 36 6D E8 D0 FB A2 09 B5 5C 2A C9 10 29 0F 95
5C CA 10 F4 88 D0 D7 E8 B5 5B F0 FB 09 30 99 5B 00 C8 E8 E0 0B F0 04 B5 5B 90
F1 88 B9 5B 00 C9 30 F0 F8 A2 7C 18 B5 DB E9 00 95 DB E8 10 F7 90 14 88 30 05
B9 5B 00 D0 EA A2 7C F6 7F D0 03 E8 10 F9 4C 68 C0 B9 5B 00 4C D2 FF

অনলাইন ডেমো , ব্যবহার: sys49152, n যেখানে এন 0-ইনডেক্সড ইনপুট।


আমি এটা গ্রহণ করতে হবে কিনা তা নিশ্চিত নই। তা পরিবর্ত E9(ক বিয়োগ কমান্ড) দ্বারা EBযা করা হয় অনির্দিষ্ট 6502 মেশিন কোডে কিন্তু NMOS 6502 এবং 6510 চিপ এ রকম করতে হবে। এই প্রোগ্রামটি উদাহরণস্বরূপ C64 DTV1 এ ক্র্যাশ করবে। তবে এটি এমন কোনও আসল সি 64 খুঁজে পাওয়ার সম্ভাবনা নেই যা এটি সঠিকভাবে কার্যকর করে না, তাই এটি একটি বৈধ ক্র্যাক হিসাবে বিবেচিত হতে পারে? আমি মেটা সম্পর্কিত মতামত জানতে চাইতে পারি ....
ফেলিক্স Palmen

আমি এখানে মেটা ইনপুট আগ্রহী হতে হবে ।
ফেলিক্স পামেন

@ ফেলিক্সপ্যালম্যান আমি খুব শীঘ্রই এই উত্তরটি নেব।
জো।

এটি রাখুন, মেটা সম্পর্কে আমার মন্তব্যও দেখুন। সম্প্রদায়টি স্পষ্টভাবে মতামত প্রকাশ করেছে যে এটি বৈধ। কেবল নথিভুক্ত 6502 কোড না লাগানো আমার দোষ, এবং আমি ভবিষ্যতের জন্য এটি মনে রাখব।
ফেলিক্স প্যালম্যান
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.