esmpmpmeimtmemqmememqicelic
esmpmpmeimememqmlmtmemoc
esmpmpmeimememqmtmtmtmtmeic
esmpmpmeimememqmtmtmtmtmeic
esmpmpmeimeiscic
esmpmpmeimemeimfsic
esmpmpmeisciscimqmtmemeic
esmpmpmeiscimlmqmqmemeic
esmpmpmeimemomqmqmemeic
esmpmpmeisciscimfsimqic
esmpmpmeimeiscic
esmpmpmeisciscimfsimqic
esmpmpmeimemomqmemqmemtmemoc
esmpmpmeiscic
esmpmpmeimemomeimqmeic
esmpmpmeimemeimqmlmtmeic
esmpmpmeimtmtmqmemtmtmeic
esmpmpmeimemomqmqmtmeic
esmpmpmeimemqmqmemeic
esmpmpmeiscimlmqmqmemeic
esmpmpmeiscimqmtmtmtmqmemeic
esmpmpmeimeimemtmqmemeic
esmpmpmeimeiscimlmlmtmlmtic
esmpmpmeimemeimqmlmtmeic
~~
সমস্ত লাইনফিডগুলি কসমেটিক উদ্দেশ্যে হয় এবং প্রোগ্রামকে প্রভাবিত না করেই সরানো যেতে পারে।
এটি অনলাইন চেষ্টা করুন!
ব্যাখ্যা
লিন {|}
অনুমতিপ্রাপ্ত অক্ষরের তালিকা থেকে সরানোর পরে , আমাকে নতুন কিছু চেষ্টা করতে হয়েছিল। দেখা যাচ্ছে যে আমরা এখনও নির্বিচারে স্ট্রিংগুলি তৈরি করতে পারি এবং কোড হিসাবে তাদের মূল্যায়ন করতে পারি।
প্রথমত, আমাদের স্ট্যাকের উপর কিছু মূল্য অর্জন করতে হবে। শুধুমাত্র উপলব্ধ বিল্ট-ইনগুলিকে অন্য কিছু পপিং প্রথম ছাড়া (এবং ইনপুট পড়া ছাড়া) কিছু ধাক্কা হয় es
, ea
এবং et
। আমি নিশ্চিত যে আপনি এই সমস্ত এক বা অন্য কোনও উপায়ে থেকে শুরু করতে পারেন তবে আমি es
যা করেছি বর্তমান টাইমস্ট্যাম্পকে ধাক্কা দিয়ে। যেহেতু আমি এর আসল মান সম্পর্কে কোনও ধারনা তৈরি করতে চাইনি, তাই আমি এর প্রাথমিকতাটি mp
(যা দেয় 0
এবং 1
) দিয়ে পরীক্ষা করে এবং সেই মানটির আধিপত্যটি আবারও পরীক্ষা করে দেখি যে আমি 0
স্ট্যাকটি পেয়েছি a এ 1
আরও কার্যকর হবে, সুতরাং আমরা এটির exp(0)
সাথে গণনা করব me
এবং এটিটিকে একটি পূর্ণসংখ্যার সাথে পরিণত করব i
। সুতরাং সমস্ত নম্বর দিয়ে শুরু:
esmpmpmei
এখন কাজ করার জন্য আমাদের কাছে পুরো ইউনিট অ্যালারি ম্যাথস অপারেটর রয়েছে:
i int(x) (floor for positive numbers, ceiling for negative)
me exp(x)
ml ln(x)
mq sqrt(x)
mo round(x)
mt tan(x)
এর আরও বিস্তৃত ফাংশনগুলির জন্য আমরা কয়েকটি বিল্ট-ইনগুলিও একত্রিত করতে পারি x
:
sci Extract first digit of x and add 48 (convert to string, convert
to character, convert to integer).
ceui Convert to character, convert to upper case, convert to integer.
celi Convert to character, convert to lower case, convert to integer.
mfsi Get a sorted list of prime factors of x and concatenate them into
a new number.
mfseei Get a sorted list of prime factors, interleave it with 1,2,3,..., and
concatenate the result into a new number.
এগুলি ব্যবহার করে আমরা 0 <= x < 128
10 টিরও কম পদক্ষেপে কোনও সংখ্যক (এবং আরও অনেক) পেতে পারি 1
। আমি নিশ্চিত যে এই কমান্ডগুলির একটি আরও ছোট উপসেটটিও যথেষ্ট। এই সমস্ত স্নিপেটগুলি নির্ধারণ করার জন্য আমি একটি ছোট ম্যাথমেটিকা প্রোগ্রাম লিখেছি (এটি খুব পাঠযোগ্য নয়, দুঃখিত):
codes = SortBy[
Select[Nest[Select[DeleteDuplicatesBy[SortBy[Join @@ (Through[{
List,
If[1 <= # < 50, {Exp@#, #2 <> "me"}, Nothing] &,
If[# >= 1, {Log@#, #2 <> "ml"}, Nothing] &,
If[# > 1, {Sqrt@#, #2 <> "mq"}, Nothing] &,
{If[# > 0, Floor@#, Ceiling@#], #2 <> "i"} &,
{Floor[# + 1/2], #2 <> "mo"} &,
{Tan@#, #2 <> "mt"} &,
If[NumberQ@# && # >= 0, {First@
ToCharacterCode@ToString@#, #2 <> "sci"},
Nothing] &,
If[IntegerQ@# &&
32 < # < 65536, {First@
ToCharacterCode@
ToUpperCase@FromCharacterCode@#, #2 <> "ceui"},
Nothing] &,
If[IntegerQ@# &&
32 < # < 65536, {First@
ToCharacterCode@
ToLowerCase@FromCharacterCode@#, #2 <> "celi"},
Nothing] &,
If[IntegerQ@# && # > 0, ## & @@ {
{FromDigits[
"" <> (ToString /@ (f =
Join @@ Table @@@ FactorInteger@#))], #2 <>
"mfsi"},
{FromDigits[
"" <> (ToString /@
MapIndexed[## & @@ {#2[[1]] - 1, #} &, f])], #2 <>
"mfeesi"}
}, Nothing] &
}@##] &) @@@ #, StringLength@*Last],
First], #[[1]] < 1000000 &] &, {{1, "esmpmpmei"}}, 9],
IntegerQ@# && 0 <= # < 128 &@*First], First]
এটির সাহায্যে আমরা কেবল অক্ষর কোডগুলির একটি স্বেচ্ছাসেবী তালিকায় চাপ দিতে পারি, সেগুলির প্রত্যেককে c
পরবর্তীকালে একটি চরিত্রে রূপান্তরিত করতে পারি । একবার আমরা পুরো কোডটি কার্যকর করতে চাইলে আমরা পুশ করে ফেলি 95
( ]
)। আমরা যে এক Eval ~
একটি স্ট্রিং অন্যান্যদের মোড়ানো এবং তারপর আমরা যে স্ট্রিং Eval ~
।
প্রোগ্রামের শেষে চালিত আসল কোডটি আবার:
ri__2#,:)/2/[1W]f.%:~<p
একটি ব্যাখ্যা জন্য আমার আগের সমাধান দেখুন ।
¦
প্রতিবার কাজগুলি আমাকে হত্যা করে, গতকাল আমি এটি চেষ্টা করেছিলাম এবংṚ
বরংU
সিদ্ধান্ত নিয়েছিলাম যেḤ
এটি কার্যকর হচ্ছে না।