লুয়া, 77 75 65 বাইট
x,v=z.rep,io.read()for a=1,v do print(x(0,a-1)..'1'..x(0,v-a))end
ঠিক আছে, আমি নিশ্চিত নই যে লুয়া এই দু'টি সময়কালের কনটেন্টেশনের সাথে সবচেয়ে ভাল ভাষা কিনা ... তবে আরে, এটির একটি শট আছে। আমি কোন উন্নতি করতে হবে কিনা তা দেখতে পাচ্ছি।
সম্পাদনা করুন:
আমি দুর্ঘটনার পরে এমন কিছু খুঁজে পেয়েছি যা আমার কাছে অদ্ভুত বলে মনে হয় তবে এটি কার্যকর হয়।
লুয়ায়, সবাই জানেন যে ভেরিয়েবলগুলিতে ফাংশন নির্ধারণ করার ক্ষমতা আপনার রয়েছে। এটি কোডোগল্ফের অন্যতম দরকারী বৈশিষ্ট্য।
এর পরিবর্তে এর অর্থ:
string.sub("50", 1, 1) -- = 5
string.sub("50", 2, 2) -- = 0
string.sub("40", 1, 1) -- = 4
string.sub("40", 2, 2) -- = 0
তুমি এটি করতে পারো:
s = string.sub
s("50", 1, 1) -- = 5
s("50", 2, 2) -- = 0
s("40", 1, 1) -- = 4
s("40", 2, 2) -- = 0
তবে অপেক্ষা করুন, লুয়া কিছু পরিমাণ ওওপি অনুমতি দেয়। সুতরাং আপনি সম্ভবত এটি করতে পারেন:
z=""
s = z.sub
s("50", 1, 1) -- = 5
s("50", 2, 2) -- = 0
s("40", 1, 1) -- = 4
s("40", 2, 2) -- = 0
এটি পাশাপাশি কাজ করবে এবং চরিত্রগুলি কেটে দেবে।
এখন এখানে অদ্ভুত অংশ আসে। এমনকি আপনাকে কোনও বিন্দুতে একটি স্ট্রিংও বরাদ্দ করতে হবে না। সহজভাবে করছেন:
s = z.sub
s("50", 1, 1) -- = 5
s("50", 2, 2) -- = 0
s("40", 1, 1) -- = 4
s("40", 2, 2) -- = 0
কাজ করবে.
সুতরাং আপনি এই পার্থক্যটি দৃশ্যত দেখতে পারবেন, এর গল্ফযুক্ত ফলাফলগুলি একবার দেখুন:
স্ট্রিং.স্যাব (88 টি অক্ষর) ব্যবহার করা হচ্ছে
string.sub("50", 1, 1)string.sub("50", 2, 2)string.sub("40", 1, 1)string.sub("40", 2, 2)
একটি ভেরিয়েবল (65 অক্ষর) এ স্ট্রিং.সব বরাদ্দ করা হচ্ছে
s=string.sub s("50", 1, 1)s("50", 2, 2)s("40", 1, 1)s("40", 2, 2)
একটি ওওপি পন্থা (characters৪ টি অক্ষর) ব্যবহার করে স্ট্রিং.সুবকে বরাদ্দ করা হচ্ছে
z=""s=z.sub s("50", 1, 1)s("50", 2, 2)s("40", 1, 1)s("40", 2, 2)
স্ট্রিং.সুবকে .. নিল পদ্ধতির সাহায্যে বরাদ্দ করা হচ্ছে? (Characters০ টি অক্ষর)
s=z.sub s("50", 1, 1)s("50", 2, 2)s("40", 1, 1)s("40", 2, 2)
যদি কারও জানা থাকে যে এটি কেন কাজ করে তবে আমি আগ্রহী।