জাভা - 126 টি অক্ষর
কমিয়ে আনা:
class hjq{public static void main(String...w){for(char z='"'|0;++z!='a';)if("'()+.0;=OS".indexOf(z)==~0)System.out.print(z);}}
unminimized:
class hjq {
public static void main(String... w) {
for (char z = '"'|0; ++z != 'a';) {
if ("'()+.0;=OS".indexOf(z) == ~0) {
System.out.print(z);
}
}
}
}
এটি একটি আকর্ষণীয় সমস্যা, কারণ স্বতন্ত্র টোকেনগুলি তাদের দীর্ঘ ফর্মটি থেকে উপকৃত হতে পারে কারণ এটি অক্ষরগুলি পুনরায় ব্যবহার করে। উদাহরণস্বরূপ, সাধারণত String[]
সংক্ষিপ্ত হবে String...
তবে শর্তাধীন স্ট্রিংয়ের বর্গাকার বন্ধনীগুলির প্রয়োজনীয়তা সরিয়ে দেয়।
আমি খুঁজেছি কৌশলটি ব্যাপ্তির শুরু এবং শেষের অক্ষরগুলি ব্যবহার করে দেখার চেষ্টা করা হয়েছিল যাতে আপনি কেবল নিজের লুপ শুরু এবং শেষের পরিবর্তন করে আউটপুট থেকে তাদের বাদ দিতে পারেন।
জাভা জন্য, বাদ দেওয়া একটি মূল চরিত্র "
, কারণ স্ট্রিং মধ্যে এটি পলায়ন প্রয়োজন, যা \
আপনার প্রোগ্রাম যোগ করে, যা স্ট্রিং যেতে হবে, যা যোগ করে \\
। সরানোর মাধ্যমে "
আপনার শর্তাধীন স্ট্রিং থেকে 4 অক্ষর মুছে ফেলুন। এই আপনি ব্যবহার নিশ্চিত করার মাধ্যমে অর্জন করা যেতে পারে
এবং !
এবং থেকে আপনার লুপ শুরু #
।
সকল ছোট হাতের অক্ষর, পরিসর সমাপ্তির কাছাকাছি প্রদর্শিত শুধুমাত্র সঙ্গে {
, |
, }
এবং ~
তাদের পরে আসছে। জাভার ভারবোসিটির কারণে, বেশিরভাগ ছোট হাতের অক্ষর কেবল বয়লারপ্লেটের জন্য ব্যবহৃত হয়। একইভাবে, {
এবং }
একটি জাভা প্রোগ্রামের জন্য তুচ্ছ, কারণ বয়লারপ্লেট তাদের প্রয়োজন।
|
আপনার যদি কোনও শর্ত থাকে তবে এটি ব্যবহার করা যেতে পারে তবে আমি |
কোনও বিটওয়াইস অপারেটর হিসাবে ব্যবহার না করে একটি সংক্ষিপ্ততর প্রোগ্রামের দিকে নিয়ে যাওয়ার কোনও উপায় গ্রহণ করতে পারি না । |0
আমাকে একটু মলিন মনে কারণ এটি শুধুমাত্র অংশ nop শুধু সেখানে চরিত্র পেতে যে এর নির্মিত হয়।
~0
ফলন -1
, যা কার্যকর কারণ এটি আমাদের যাচাই করতে হবে indexOf
। !=
লুপ শর্তসাপেক্ষে <
এটির সাথে ব্যবহারের ফলে চরিত্রটি পুরোপুরি মুছে যায়, যার অর্থ এটি শর্তসাপেক্ষ স্ট্রিংয়ের ভিতরে যাওয়ার দরকার নেই।
0x20
নেই0x7e
, যা "মুদ্রণযোগ্য ASCII অক্ষর" হিসাবে সংজ্ঞায়িত হয়েছে। প্রযুক্তিগতভাবে ট্যাব এবং নিউলাইনগুলি আসলে নিয়ন্ত্রণের অক্ষর।