প্রতিযোগিতা গণনা


29

আপনার চ্যালেঞ্জটি হ'ল কোডের এন স্নিপেটগুলি লিখুন যে আপনি যখন প্রথম কে ≥ 1 একসাথে সম্মিলিত করেন, তখন তারা K সংখ্যাটি প্রকাশ করে । উচ্চতর এন , আরও ভাল। এখানে ধরা আছে: আপনি আপনার স্নিপেটগুলি জুড়ে কোনও অক্ষর একবারের বেশি ব্যবহার করতে পারবেন না।

বিধি

  • আপনি একই অক্ষরটি এক (এবং শুধুমাত্র একটি) স্নিপেটে একাধিকবার ব্যবহার করতে পারেন।
  • এই স্নিপেটগুলি কোনও উপেক্ষা না করে সেগুলি উপস্থাপিত ক্রমের সাথে অবশ্যই জড়িত হতে হবে ।
  • আপনাকে অবশ্যই কমপক্ষে দুটি স্নিপেট লিখতে হবে।
  • সমস্ত স্নিপেটগুলি অবশ্যই একই ভাষায় থাকতে হবে।
  • মনে রাখবেন: স্নিপেটগুলিতে পুরো প্রোগ্রাম বা ফাংশন থাকতে হবে না বা তাদের নিজস্বভাবে কাজ করতে হবে না-1জাভাতে একটি বৈধ স্নিপেট, যেমন
  • সমস্ত ফলাফলের যুক্তিগুলি অবশ্যই সম্পর্কিত কে আউটপুট করে মান ।
  • বিজয়ী হ'ল সর্বোচ্চ এন মানযুক্ত ব্যক্তি । টাই-ব্রেকার হ'ল বাইটের মধ্যে সামগ্রিক প্রোগ্রামের দৈর্ঘ্য।

উদাহরণ

ধরুন আপনার স্নিপেটগুলি ছিল AD, xc, 123, এবং ;l। তারপর:

  • AD উত্পাদন করা উচিত 1
  • ADxc উত্পাদন করা উচিত 2
  • ADxc123 উত্পাদন করা উচিত 3
  • এবং ADxc123;lউত্পাদন করা উচিত 4

এই প্রোগ্রামের স্কোর 4 হবে


4
যেহেতু তাদের স্নিপেট হতে হবে, স্ট্যাক-ভিত্তিক ভাষায়, সংখ্যাগুলি কেবল স্ট্যাকের উপর চাপানো যেতে পারে, তাই না?
সম্পূর্ণরূপে

সম্পূর্ণরূপে মানুষের প্রশ্ন যুক্ত করার জন্য, একটি স্ট্যাক-ভিত্তিক ভাষায় শীর্ষ-স্তরের একমাত্র মূল্য যা গুরুত্বপূর্ণ? অর্থাৎ, 1ডিসিতে প্রথম দুটি স্নিপেটগুলি এবং `2` হতে পারে ?
brhfl

@ টোটালিহুমান আমি বলব না - স্ট্যাক ভিত্তিক পরিবেশে, যদি আপনার স্ট্যাকের একাধিক মান থাকে তবে আপনি অনুরোধকৃত একটি পূর্ণসংখ্যার পরিবর্তে একাধিক মানের "উত্পাদন" করেছিলেন।
কনর ও'ব্রায়েন

@ BRhfl উপরে দেখুন।
কনর ও'ব্রায়েন

@ কনোরো ব্রায়েন স্ট্যাকের কেবল শীর্ষটিকে আউটপুট হিসাবে বিবেচনা করা যেতে পারে? 'অন্যথায় কারণ, কোনও অন্তর্নিহিত আইও ছাড়া স্ট্যাক-ভিত্তিক ভাষায় এটি কার্যত অসম্ভব ...
সম্পূর্ণমানবিক

উত্তর:


10

পাইথন 3 , 1 112 056 স্নিপেটস, 4 383 854 বাইট

এটি @ হুইট উইজার্ডের পাইথন 2 উত্তরের সাথে খুব মিল । এটি পোস্ট হওয়ার অল্প আগে আমি এটি নিয়ে কাজ শুরু করেছিলাম, তবে অ-এসসিআইআই অক্ষর এবং লম্বা লাইনগুলিতে পাইথনের গলগলগুলি বাছাই করতে কিছুটা সময় নিয়েছিল। আমি আবিষ্কার করেছি যে পাইথন একসাথে 8191 বাইট লাইনগুলি পড়ে এবং সেই 8191 বাইটে যখন একটি বহু-বাইট চরিত্রের একটি অংশ থাকে, পাইথন একটি সিন্ট্যাক্সেরর ফেলে দেয় ।

প্রথম স্নিপেট টিউরিং সম্পূর্ণতার জন্য সবচেয়ে স্বতন্ত্র (স্বতন্ত্র) অক্ষরগুলির একটি এনকোডিং ব্যবহার করে ।

exec('%c'%(111+1)+'%c'%(111+1+1+1)+'%c'%(11+11+11+11+11+11+11+11+11+1+1+1+1+1+1)+'%c'%(11+11+11+11+11+11+11+11+11+11)+'%c'%(111+1+1+1+1+1)+'%c'%(11+11+11+1+1+1+1+1+1+1)+'%c'%(11+11+11+11+11+11+11+11+11+1+1+1+1+1+1+1+1+1)+'%c'%(11+11+11+11+11+11+11+11+11+1+1)+'%c'%(11+11+11+11+11+11+11+11+11+11)+'%c'%(11+11+11+1+1+1+1+1+1+1)+'%c'%(111)+'%c'%(111+1)+'%c'%(11+11+11+11+11+11+11+11+11+1+1)+'%c'%(11+11+11+11+11+11+11+11+11+11)+'%c'%(11+11+11+1+1+1+1+1+1+1)+'%c'%(11+11+11+11+11+11+11+11+1+1+1+1+1+1+1)+'%c'%(11+11+11+11+11+11+11+11+1+1+1+1+1+1+1)+'%c'%(11+11+11+11+11+11+11+11+11+1+1+1)+'%c'%(11+11+11+11+11+11+11+11+11+1+1+1+1+1+1)+'%c'%(11+11+11+11+11+11+11+11+11+1+1+1+1+1+1+1+1+1)+'%c'%(11+11+11+11+11+11+11+11+11+1+1)+'%c'%(11+11+11+11+11+11+11+11+1+1+1+1+1+1+1)+'%c'%(11+11+11+11+11+11+11+11+1+1+1+1+1+1+1)+'%c'%(11+11+11+1+1+1+1+1+1+1+1)+'%c'%(11+11+11+11+1+1)+'%c'%(111+1+1+1)+'%c'%(11+11+11+11+11+11+11+11+11+1+1)+'%c'%(11+11+11+11+11+11+11+11+1+1+1+1+1+1+1+1+1)+'%c'%(11+11+11+11+11+11+11+11+11+1)+'%c'%(11+11+11+1+1+1+1+1+1+1)+'%c'%(11+11+11+1+1+1+1+1+1+1+1)+'%c'%(11+11+11+1+1+1+1+1+1+1+1)+'%c'%(11+11+11+11+1)+'%c'%(11+11+11+11+1+1+1+1+1)+'%c'%(11+11+11+11+1+1+1+1+1+1)+'%c'%(11+11+11+11+11)+'%c'%(11+11+11+11+1+1+1+1)+'%c'%(11+11+11+1+1+1+1+1+1+1++++++++++1))

এই একজাতীয়তা কেবল নিম্নলিখিত স্ট্রিং তৈরি করে এবং এটি সম্পাদন করে।

print(len(open(__file__).read())-1260)

নিম্নলিখিত স্নিপেটগুলি হুবহু এক অক্ষর দীর্ঘ। পরবর্তী তিন অক্ষর \n, \rএবং# । বাকি সমস্ত ইউনিকোড অক্ষর (সারোগেট ব্যতীত) একটি নির্দিষ্ট ক্রমে অনুসরণ করে, সুতরাং তারা 8191-বাইট সীমানার সাথে সারিবদ্ধ হয়।

নিম্নলিখিত স্ক্রিপ্টটি 1 এবং 1112056 এর মধ্যে ইনপুট কে এর জন্য উপযুক্ত প্রোগ্রাম উত্পন্ন করে ।

j = 4
s = "exec('%c'%(111+1)+'%c'%(111+1+1+1)+'%c'%(11+11+11+11+11+11+11+11+11+1+1+1+1+1+1)+'%c'%(11+11+11+11+11+11+11+11+11+11)+'%c'%(111+1+1+1+1+1)+'%c'%(11+11+11+1+1+1+1+1+1+1)+'%c'%(11+11+11+11+11+11+11+11+11+1+1+1+1+1+1+1+1+1)+'%c'%(11+11+11+11+11+11+11+11+11+1+1)+'%c'%(11+11+11+11+11+11+11+11+11+11)+'%c'%(11+11+11+1+1+1+1+1+1+1)+'%c'%(111)+'%c'%(111+1)+'%c'%(11+11+11+11+11+11+11+11+11+1+1)+'%c'%(11+11+11+11+11+11+11+11+11+11)+'%c'%(11+11+11+1+1+1+1+1+1+1)+'%c'%(11+11+11+11+11+11+11+11+1+1+1+1+1+1+1)+'%c'%(11+11+11+11+11+11+11+11+1+1+1+1+1+1+1)+'%c'%(11+11+11+11+11+11+11+11+11+1+1+1)+'%c'%(11+11+11+11+11+11+11+11+11+1+1+1+1+1+1)+'%c'%(11+11+11+11+11+11+11+11+11+1+1+1+1+1+1+1+1+1)+'%c'%(11+11+11+11+11+11+11+11+11+1+1)+'%c'%(11+11+11+11+11+11+11+11+1+1+1+1+1+1+1)+'%c'%(11+11+11+11+11+11+11+11+1+1+1+1+1+1+1)+'%c'%(11+11+11+1+1+1+1+1+1+1+1)+'%c'%(11+11+11+11+1+1)+'%c'%(111+1+1+1)+'%c'%(11+11+11+11+11+11+11+11+11+1+1)+'%c'%(11+11+11+11+11+11+11+11+1+1+1+1+1+1+1+1+1)+'%c'%(11+11+11+11+11+11+11+11+11+1)+'%c'%(11+11+11+1+1+1+1+1+1+1)+'%c'%(11+11+11+1+1+1+1+1+1+1+1)+'%c'%(11+11+11+1+1+1+1+1+1+1+1)+'%c'%(11+11+11+11+1)+'%c'%(11+11+11+11+1+1+1+1+1)+'%c'%(11+11+11+11+1+1+1+1+1+1)+'%c'%(11+11+11+11+11)+'%c'%(11+11+11+11+1+1+1+1)+'%c'%(11+11+11+1+1+1+1+1+1+1++++++++++1))"
l = 1
c = \
        [
                None,
                [n for n in range(0x80) if chr(n) not in "\n\r#%'()+1cex"],
                [*range(0x80, 0x800)],
                [*range(0x800, 0xd800), *range(0xe000, 0x10000)],
                [*range(0x10000, 0x110000)]
        ]

k = int(input())
assert k in range(1, 1112057)
s += '\n\r#'[:k - 1]
k -= 4

while j:
                while k > 0 and c[j] and l + j < 8191:
                        s += chr(c[j].pop())
                        l += j
                        k -= 1
                if k < 1:
                        print(end = s)
                        break
                elif c[j] == []:
                        j -= 1
                else:
                        s += chr(c[8191 - l].pop())
                        print(end = s)
                        k -= 1
                        s = ''
                        l = 0

4
আপনি কি কখনও হারান?
প্যাট্রিক রবার্টস

আপনি কীভাবে 256 এর বেশি রান করেছেন তা নিয়ে আমি বিভ্রান্ত। যদি তাই হয় তবে অসীম স্কোর পাওয়ার জন্য ডায়াক্রিটিক্সের সংমিশ্রণটি কেন ব্যবহার করবেন না?
গম উইজার্ড

@ ওয়েট উইজার্ড একটি চরিত্র কী?
ডেনিস

দেখে মনে হয় যে সেই সংজ্ঞা অনুসারে আপনি উচ্চতর স্কোর পেতে ডায়াক্রিটিক্সের সংমিশ্রণটি ব্যবহার করতে পারেন।
গম উইজার্ড 16

@ হুইট উইজার্ড নং, একটি চিঠি এবং একটি সংমিশ্রিত ডায়াক্রিটিক দুটি ইউনিকোড অক্ষর।
ডেনিস

13

পার্ল 5, 50,091 151 স্নিপেট

প্রথম স্নিপেট:

use utf8; print length A

২th তম স্নিপেটের Bমাধ্যমে : মাধ্যমেZ

২th তম স্নিপেটের aমাধ্যমে : z"দৈর্ঘ্য" এর মধ্যে অক্ষরগুলি বাদ দিয়ে

56 তম স্নিপেটের মাধ্যমে 47 তম: 0মাধ্যমে9

57 তম স্নিপেট: _

বাকী স্নিপেটগুলি হ'ল 50,105 স্বতন্ত্র ইউনিকোড অক্ষর যা পার্লকে "শব্দ" অক্ষর হিসাবে বিবেচনা করে, প্রাথমিক স্নিপেটে 14 টি স্বতন্ত্র শব্দের অক্ষর বাদ দিয়ে, কোনও ক্রমে।

ঠিক আছে, এটি একটি দুর্দান্ত চিন্তা ছিল তবে এটি প্রমাণিত হয়েছে যে পার্ল একটি নির্দিষ্ট দৈর্ঘ্যের পরে আপনাকে একটি "সনাক্তকারী খুব দীর্ঘ" ত্রুটি দেয়। পার্ল হজম করতে আমি এটিই দীর্ঘতম সংযুক্ত প্রোগ্রাম:

use utf8; print length A012345679BCDEFGHIJKLMNOPQRSTUVWXYZ_abcdjkmoqsvwxyzĀāĂ㥹ĆćĈĉĊċČčĎďĐđĒēĔĕĖėĘęĚěĜĝĞğĠġĢģĤĥĦħĨĩĪīĬĭĮįİıIJijĴĵĶķĸĹĺĻļĽľĿŀŁłŃńŅņŇňʼnŊŋŌōŎŏŐőŒœŔŕŖŗŘřŚśŜŝŞşŠšŢţ

পার্ল্ডিয়াগ ম্যানুয়াল পৃষ্ঠাতে বলা হয়েছে "পার্লের ভবিষ্যতের সংস্করণগুলি এই স্বেচ্ছাচারী সীমাবদ্ধতাগুলি দূর করতে পারে" তবে আমার পার্ল 5.18 এটি করেনি।

ব্যাখ্যা:

অ-কড়া মোডে, পার্ল 5 শব্দের অক্ষরের অনাবৃত স্ট্রিংগুলিকে "বেয়ারওয়ার্ডস" হিসাবে ব্যাখ্যা করে, প্রয়োজনীয়ভাবে সেগুলি আপনার জন্য স্বয়ংক্রিয়ভাবে উদ্ধৃত করে। এগুলি সাধারণত সেরা এড়ানো হয় তবে তারা নিশ্চিত এখানে সহায়তা করে!


4
আপনার a-zস্নিপেটগুলি সম্ভবত আপনার প্রথম স্নিপেটের অক্ষর ব্যবহার করবে।
জোনাথন ফ্রেচ

হ্যাঁ, ধন্যবাদ। সংশোধন করা হয়েছে।
শান

আমি আপনাকে একটি "শোকেস" -র মতো উত্তর তৈরি করার পরামর্শ দিচ্ছি, কারণ প্রায় সমস্ত (এক্সো) ল্যাংগুয়েজ - জেলি, পাইথ ইত্যাদি - এর আচরণ রয়েছে
রড

"শোকেসের মতো উত্তর" এর অর্থ কী তা আমি জানি না।
শান

1
@ সান প্রচুর পরিমাণ esolangs.org এ পাওয়া যাবে এবং এই পদ্ধতির কাজ করার জন্য সম্পূর্ণ বোঝার প্রয়োজন নেই, তাই সাইট থেকে আপনার কী প্রয়োজন তা আপনি শিখতে পারেন। এছাড়াও, অনেক নন-এসোলেং এই আচরণটি প্রদর্শন করে; উদাহরণস্বরূপ, টিআই-বেসিকের প্রথম স্নিপেটটি হবে length("length(
খুলনাশেঠ না'বাড়িয়া

10

পাইথন 2 , স্কোর 32

for r in range(32):locals()[''.join(map(chr,range(65,66+r)[:26]+range(117,92+r)))]=r+1
print A

পরবর্তী স্নিপেট সঙ্গে B, C, D, ... Y, Z, u, v, w, x, y, z

নাটকীয় বিড়ম্বনার এক মোড়কে, পাইথন 3 ইউনিকোড শনাক্তকারীদের সমর্থন করে, যা আমাদের এই কৌশলটি নিয়ে খুব নির্বোধ হতে দেয় - তবে printএটি প্রথম বন্ধনী ছাড়াই পারে না । আমি শনাক্তকারীতে অঙ্কগুলিও ক্র্যাম করতে পারতাম, তবে আমি মনে করি না যে এই পদ্ধতিকে আরও আটকানো খুব মজাদার।

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

পাইথন 2 , স্কোর 18, কম চিট-ওয়াই

print 0x10-1&0x1
print 0x10-1&0x12
print 0x10-1&0x123
print 0x10-1&0x1234
print 0x10-1&0x12345
print 0x10-1&0x123456
print 0x10-1&0x1234567
print 0x10-1&0x12345678
print 0x10-1&0x123456789
print 0x10-1&0x123456789A
print 0x10-1&0x123456789Ab
print 0x10-1&0x123456789Abc
print 0x10-1&0x123456789Abcd
print 0x10-1&0x123456789AbcdE
print 0x10-1&0x123456789AbcdEf
print 0x10-1&0x123456789AbcdEf^((()==())+(()==())+(()==())+(()==())+(()==())+(()==())+(()==())+(()==())+(()==())+(()==())+(()==())+(()==())+(()==())+(()==())+(()==())+(()==())+(()==())+(()==())+(()==())+(()==())+(()==())+(()==())+(()==())+(()==())+(()==())+(()==())+(()==())+(()==())+(()==())+(()==())+(()==()))
print 0x10-1&0x123456789AbcdEf^((()==())+(()==())+(()==())+(()==())+(()==())+(()==())+(()==())+(()==())+(()==())+(()==())+(()==())+(()==())+(()==())+(()==())+(()==())+(()==())+(()==())+(()==())+(()==())+(()==())+(()==())+(()==())+(()==())+(()==())+(()==())+(()==())+(()==())+(()==())+(()==())+(()==())+(()==()))|[[[]]>[]][[]>[]]
print 0x10-1&0x123456789AbcdEf^((()==())+(()==())+(()==())+(()==())+(()==())+(()==())+(()==())+(()==())+(()==())+(()==())+(()==())+(()==())+(()==())+(()==())+(()==())+(()==())+(()==())+(()==())+(()==())+(()==())+(()==())+(()==())+(()==())+(()==())+(()==())+(()==())+(()==())+(()==())+(()==())+(()==())+(()==()))|[[[]]>[]][[]>[]]<<False**False

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


10

জাভাস্ক্রিপ্ট (ES6, V8 6.x), 52 50298 119526 119638 119683 128781 স্নিপেট, 88 149147 575179 575631 576121 612789 বাইট

আরও নীচে একটি স্ট্যাক স্নিপেট রয়েছে যা সম্পূর্ণ প্রোগ্রাম উত্পন্ন করে, মূল্যায়ন করে এবং ফাইলটির জন্য ডাউনলোড লিঙ্ক তৈরি করে। ইউনিকোডের পরবর্তী সংস্করণগুলি জাভাস্ক্রিপ্টের নতুন সংস্করণগুলি দ্বারা সমর্থিত যা ভাষায় নতুন বৈধ শনাক্তকারী যুক্ত করে That স্নিপেট আরও ভাল উত্তর উত্পন্ন করতে থাকবে।

শুধুমাত্র এএসসিআইআই ব্যবহার করে

console.log(new Proxy({},{get:(n,{length:e})=>e>>(e/e)}).nn$$00112233445566778899AABBCCDDEEFFGGHHIIJJKKLLMMNNOOQQRRSSTTUUVVWWXXYYZZ__aabbccddffiijjkkmmppqqssuuvvzz)

ব্যাখ্যা

এটি বস্তুর উপর Proxyএকটি হ্যান্ডলার ফাঁদ সক্ষম করতে এবং পরিচয়দাতার ফিরিয়ে দিয়ে স্ট্রিং হিসাবে সম্পত্তির নাম অ্যাক্সেস করার জন্য রূপক কৌশলটি ব্যবহার করেlength / 2 মান হিসাবে ।

প্রথম স্নিপেট হিসাবে শুরু হওয়ার সাথে সাথে new Proxy({},{get:(n,{length:e})=>e>>(e/e)}).nnপ্রতিটি অতিরিক্ত স্নিপেট নিশ্চিত lengthকরে নিশ্চিতকরণের মাধ্যমে সনাক্তকারীটির স্ট্রিং বৃদ্ধি করে2.repeat() 2 বাইট utf-16 অক্ষরের জন্য দুবার এবং একবার 4 বাইট utf-16 অক্ষরের জন্য সংশ্লিষ্ট কোড পয়েন্টটি ।

জাভাস্ক্রিপ্টে শনাক্তকারী

ইন নাম ECMAScript স্পেসিফিকেশন , একটি IdentifierNameনিম্নলিখিত ব্যাকরণ সংজ্ঞায়িত হয়:

IdentifierName::
  IdentifierStart
  IdentifierName IdentifierPart

IdentifierStart::
  UnicodeIDStart
  $
  _
  \UnicodeEscapeSequence

IdentifierPart::
  UnicodeIDContinue
  $
  _
  \UnicodeEscapeSequence
  <ZWNJ>
  <ZWJ>

UnicodeIDStart::
  any Unicode code point with the Unicode property “ID_Start”

UnicodeIDContinue::
  any Unicode code point with the Unicode property “ID_Continue”

উত্তর তৈরি হচ্ছে

প্রাথমিকভাবে "আইডি_কন্টিনিউ" ইউনিকোড সম্পত্তি ব্যবহার করে, আমি একটি নোড.জেএস স্ক্রিপ্ট লিখেছিলাম যা সম্পূর্ণ উত্তর জেনারেট করে। এখন এটি কেবলমাত্র একটি ক্লায়েন্ট-সাইড স্ক্রিপ্ট যা eval()বৈধ অক্ষরের জন্য পরীক্ষা করার জন্য একটি নিষ্কলুষ ব্যবহার করে পরিবর্তে সমস্ত ইউনিকোড কোড পয়েন্টের মাধ্যমে পুনরুক্তি করে:

// first snippet
let answer = 'new Proxy({},{get:(n,{length:e})=>e>>(e/e)}).nn'

const used = Array.from(
  answer,
  c => c.codePointAt(0)
).sort(
  (a, b) => a - b
)

// create a O(1) lookup table for used characters in first snippet
const usedSet = Array.from(
  { length: Math.max(...used) + 1 }
)

for (const codePoint of used) {
  usedSet[codePoint] = true
}

// equal to 1 for first snippet
let snippets = eval(answer)
let identifier = ''

for (let codePoint = 0, length = 0x110000; codePoint < length; codePoint++) {
  const character = String.fromCodePoint(codePoint)

  // if unused
  if (usedSet[codePoint] === undefined) {
    // if valid `IdentifierPart`
    try {
      eval(`{let _${character}$}`)
    } catch (error) {
      // console.log(character)
      continue
    }

    // repeat so that `snippet.length === 2`
    identifier += character.repeat(2 / character.length)
    snippets++
  }
}

// number of snippets generated
console.log(`snippets: ${snippets}`)

const program = `console.log(${answer + identifier})`

// output of program to validate with
eval(program)

// download link to check number of bytes used
dl.href = URL.createObjectURL(new Blob([program], { type: 'text/javascript' }))
<a id=dl download=answer.js>Click to Download</a>

চলমান stat -f%z answer.jsউৎপাদনের 612802 একটি বাইট গণনা, কিন্তু আমরা 13 বাইট বিয়োগ console.log(এবং) প্রকৃত জমা মোড়কে।

এনকোডিং

উত্সটি utf-8 হিসাবে সঞ্চিত রয়েছে, যা উত্তরের বিরাট বাইট গণনায় প্রতিফলিত হয়। এটি করা হয়েছে কারণ নোড.জেএসগুলি কেবল ইউটিএফ -8 এ এনকোডযুক্ত উত্স ফাইলগুলি চালাতে পারে।

জাভাস্ক্রিপ্ট অভ্যন্তরীণভাবে utf-16 এনকোডিং সহ স্ট্রিংগুলি সঞ্চয় করে, তাই জাভাস্ক্রিপ্টে ফিরে আসা স্ট্রিং "চরিত্রের দৈর্ঘ্য" প্রকৃতপক্ষে utf-16 এ এনকোড করা স্ট্রিংয়ের বাইটের অর্ধেকের সংখ্যা।


এটি অতিরিক্ত শনাক্তকারী চরিত্র হিসাবে মুক্ত করার xপরিবর্তে , বলুন না কেন $?
নিল

@ নীল আমি লক্ষ্য করেছি যে কিছুক্ষণ আগে। আমি বর্তমানে একটি উত্তরে কাজ করছি যা। 119519 এর স্কোর হওয়া উচিত। এখনই আমি এটিকে এনকোডিংটি সঠিকভাবে ট্র্যাভার করার বিষয়টি পেয়েছি।
প্যাট্রিক রবার্টস

আমি স্পাইডারমনকি জেএস শেলের একটি অনুলিপি চেষ্টা করেছিলাম যা আমার চারপাশে পড়ে ছিল। এটি কেবল 50466 বিভিন্ন সনাক্তকারী অক্ষরকে সমর্থন করে supported (যেহেতু আপনি আপনার প্রাথমিক স্নিপেটে 12 ব্যবহার করেন, এটি আপনাকে 50455 স্কোর করে))
নীল

ভাল, কোনও বড় ওভারহল না করে দেখে মনে হচ্ছে স্কোরটি 50297 হতে হবে now এখনই উত্তর লিখছেন। পরিষ্কার করে বলতে গেলে বাস্তবে ইউনিকোড 10.0.0 স্পেসিফিকেশন ব্যবহার করে ES6 + তে 128,096 সমর্থিত সনাক্তকারী রয়েছে, তবে সেগুলির মধ্যে কেবলমাত্র আপনার উল্লেখ করা সংখ্যার একটি স্ট্রিং দৈর্ঘ্য ১. অন্যথায় স্ট্রিং চরিত্রের সংখ্যা গণনা করা আরও অনেক বেশি কঠিন এবং এই যে আমি ঝুলিয়েছিলাম।
প্যাট্রিক রবার্টস

1
@ পেট্রিকরোবার্টস দুঃখিত, আমার ভুল, এটি পড়ার সময় আমি শেষ পাঠ্যটি সীমাবদ্ধ না হওয়া অবধি সমস্ত পাঠ্য ধরে নিয়েছি। আমার চোখ অবশ্যই এই অংশটি এড়িয়ে গেছে।
কনর ও'ব্রায়েন

6

পাইথন 2 , স্কোর 6 10

+3 ধন্যবাদ পিজ্জা প্যান্টস 184 +1 হুইট উইজার্ডকে
ধন্যবাদ

4/4
*2
-~0
+1
|5
^3
&776%6
and 8
if[]else[9][9>9]
.__xor__((""=="").__xor__((""=="")<<(""=="")))

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


আপনি যদি print int(True)কেবলমাত্রে পরিবর্তন করেন তবে আপনি 7 4/4and 7
টির


যোগ করা &2আপনার স্কোরকে এক দ্বারা বাড়িয়ে তুলবে কারণ &এর চেয়ে বেশি অগ্রাধিকার রয়েছে ^তবে আপনাকে কোনওভাবেই 2 নম্বর করা দরকার। (আপনি ব্যবহার করতে পারেন [[]==[]][[]<[]]<<[[]==[]][[]<[]])
গম উইজার্ড

1
@ পিজ্জাপ্যান্টস 184 নির্বিশেষে এটি 10 ​​এর জন্য কাজ করে
গম উইজার্ড

1
@ পিজ্জাপ্যান্টস 184 এর ordসাথে বিরোধ ছিল and, কিন্তু আমি এটি স্থির করে রেখেছি
রড

6

টিআই-বেসিক (83 টি সিরিজ, ওএস সংস্করণ 1.15 বা উচ্চতর), স্কোর: 17 18 19 24

(টাইব্রেকার: 53 বাইট)

আপনি যথারীতি স্ট্রিং দৈর্ঘ্যের অপব্যবহার করে একটি খুব বড় স্কোর পেতে পারেন: শুরু করুন (@ সক্রোবাইল পয়েন্ট হিসাবে) এবং শেষ পর্যন্ত একক-টোকেন স্নিপেট যুক্ত করা চালিয়ে যান। টিআই-বেসিকের এগুলির মধ্যে 700 টিরও বেশি রয়েছে, এটি আসলে বেশ ভালভাবে কাজ করে। তবে এখানে আরও একটি পদ্ধতি রয়েছে:length("A length("length(

int(log(11
2
3
4
5
6
7
8
9
0
Xmax
Ymax
nMax
abs(Xmin
Ymin
ππ
eee
³
²
₁₀^(₁₀^(X
+e^(⁻e^(Y))))
/√(sub(Z!
°
randrandrand

লক্ষ্য করুন TI তৈরি-বেসিক tokenized হয়, তাই (উদাহরণস্বরূপ) e^(কমান্ড অক্ষরের কোনো ব্যবহার করে না e, ^,(

এর একটি অননুমোদিত বৈশিষ্ট্যের উপর নির্ভর করে sub( : সাবস্ট্রিংগুলি অনুসন্ধানের পাশাপাশি এটি একটি সংখ্যা 100 দ্বারা বিভক্ত করতেও ব্যবহার করা যেতে পারে।

এই কাজ যদি এটি একটি তাজা ক্যালকুলেটর, যা দেয় বুকে গুলি চালাচ্ছেন আসুন জেনে নিই X, Y, Zসব শূন্য হয়, যে উইন্ডো ভেরিয়েবল তাদের মান মান নির্ধারণ করা হয়, যে ক্যালকুলেটর রেডিয়ান মোডে, এবং যে randএর প্রথম তিনটি আউটপুট সম্পর্কে হতে হবে0.943 , 0.908, 0.146


4

শক্তির উৎস , 25 বাইট, স্কোর 5

' '.count*2+!""-(-1)|%{5}

স্নিপেট 1: ' '.countআউটপুট1 । এটি .countএকটি স্ট্রিং গ্রহণ করে এটি করে , যা কেবল একটি স্ট্রিং থাকার কারণে এটি একটি। এটি অনলাইন চেষ্টা করুন!

স্নিপেট 2: *2আউটপুট 2কারণ আমরা 1পূর্ববর্তী স্নিপেটটি থেকে নেওয়া এবং এটি দুটি দিয়ে গুণ করে অনলাইনে চেষ্টা করুন!

স্নিপেট 3: খালি স্ট্রিংয়ের বুলিয়ান না-যুক্ত করে +!""আউটপুট 3। এটি স্পষ্টতই খালি স্ট্রিংটিতে কাস্ট করে $true, যা আবার স্পষ্টভাবে কাস্ট করা হয় 1, তাই আমরা এটি যুক্ত করে দেখি অনলাইনে!

স্নিপেট 4: কেবলমাত্র নেতিবাচক বিয়োগ করে -(-1)ফলাফলগুলি অনলাইনে চেষ্টা করুন!4

স্নিপেট 5: পূর্ববর্তী নম্বরটিকে একটি লুপে নিয়ে গিয়ে |%{5}আউটপুটগুলি 5এবং সেই লুপটির প্রতিটি পুনরাবৃত্তি (কেবলমাত্র একটি, কারণ কেবল একটি ইনপুট নম্বর আছে) আউটপুটগুলি 5 অনলাইনে চেষ্টা করুন!

সঙ্গে উত্ক্রান্ত এর একটি বিকল্প উপায়ে জন্য জানুয়ারী ধন্যবাদ 4এবং উত্ক্রান্ত একটি ধূর্ত উপায় 5


কিভাবে ' '.count*2+!""-(-1)|%{5}5 স্কোর জন্য?
জানুয়ারি

@ জন ওহ, ঠিক আছে, হাহা, আপনাকে আসলে $_ভিতরে ব্যবহার করার দরকার নেই |%{ }। ধন্যবাদ!
অ্যাডমবর্কবার্ক

4

সি, 10 স্নিপেট, 45 বাইট

sizeof(char)              // sizeof(char) = 1
<<9/9                     // Multiply by two.
|1                        // 2 or 1 = 3
,4                        // Discard previous expression, return 4.
+!!8                      // Add one.
^3                        // 5 xor 3 = 6
&66                       // 3 and 66 = 2, 5 xor 2 = 7 (& has higher precedence)
??'0xF                    // Trigraph for '^'. 7 xor 15 = 8
-~-2                      // ~-2 = 1, 7 xor 14 = 9
*57%5                     // 1*57%5 = 2, 7 xor 13 = 10

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


4

এমএটিএল , স্কোর 8 15, 64 123 বাইট

rg             % 1 Random number, make boolean (1)
Q              % 2 Increment
Yq             % 3 Nth prime
a,E]           % 4 any (convert to boolean 1. Do twice: Multiply by 2
T+             % 5 Add True
F~_-           % 6 Subtract negative (not(false)) = 6-(-1)
:sI/           % 7 Range 1:6, sum (21), divide by 3
A8*            % 8 All elements (True). Multiply by 8
d9             % 9 Clear stack, push 9
x10            % 10 Clear stack, push 10
WBPf           % 11 Raise 2^10. Convert to binary [1 0 ... 0], flip [0 0 ... 1]. Find
23ZP           % 12 Push 23, and calculate the distance between 11 and 23
yyyyyyyyyyyyyyyyyyyyyyyyhhhhhhhhhhhhhhhhhhhhhhhhz  % 13. Duplicate and count elements
tttttttttttttvvvvvvvvvvvn  % 14 Duplicate and count elements
OOOOOOOOOOOOOON&           % 15 Add bunch of zeros, output size of stack
  • লুইস মেন্ডোর সহায়তায় 12 এ গিয়েছেন! স্নিপেট for-এর 11,23ZPপরিবর্তনের 3সাথে তার ধারণাটি ব্যবহার করা হয়েছিল I
  • লুইসের আরও সহায়তায় 15 পেয়েছেন। OO...N&তার ধারণা ছিল।

আরও আসবে. আমি এমএটিএল ফাংশনগুলি হৃদয় দিয়ে জানি না, তাই ডকুমেন্টেশনে আমাকে পিছন পিছন পিছন পিছনে যেতে হয়েছিল ... :)

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


ওহ, 5Yyসুন্দর! Yদ্বিতীয় প্রাইম পাওয়ার জন্য আমি ইতিমধ্যে 3 তে ব্যবহার করেছি :(
স্টিভি গ্রিফিন

আমি মনে করি আপনি অন্যটি পেতে পারেন OOOOOOON&। আপনি যদি অন্যকে যুক্ত করেন তবে এটি সম্ভবত শেষ হওয়া উচিত, কারণ&
লুইস মেন্ডো

ধন্যবাদ আবার লুইস! এছাড়াও, কেন আমার খুব বেশি দরকার ছিল yyyyyyyy...? আমাকে y12 বার নকল করার জন্য , সংখ্যাটি দ্বিগুণ করতে হয়েছিল ...?
স্টিভি গ্রিফিন

@ স্টিভি আমি মনে করি এটি হ'ল কারণ আপনি নকল করছেন অর্ধেক উপাদানগুলি হ'ল উত্পন্ন উত্পন্ন অ্যারে d। আমি এখন মোবাইলে আছি, তবে X#স্ট্যাকটি ডিবাগ-প্রিন্ট করার চেষ্টা করব
লুইস মেন্ডো


2

জেলি , 253 বাইট, 250 স্কোর

L}“L

পরবর্তীকালে 1-চর স্নিপেটস:

¡¢£¤¥¦©¬®µ½¿€ÆÇÐÑ×ØŒÞßæçðıȷñ÷øœþ !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|~¶°¹²³⁴⁵⁶⁷⁸⁹⁺⁻⁼⁽⁾ƁƇƊƑƓƘⱮƝƤƬƲȤɓƈɗƒɠɦƙɱɲƥʠɼʂƭʋȥẠḄḌẸḤỊḲḶṂṆỌṚṢṬỤṾẈỴẒȦḂĊḊĖḞĠḢİĿṀṄȮṖṘṠṪẆẊẎŻạḅḍẹḥịḳḷṃṇọṛṣṭụṿẉỵẓȧḃċḋėḟġḣŀṁṅȯṗṙṡṫẇẋẏż

দ্রষ্টব্য: এছাড়াও প্রতিস্থাপিত হতে পারে \n, তারা জেলির কোডপেজে একই বাইট।

আপনি এই সমস্ত স্নিপেট সংযুক্ত করার পরে, তারপরে আপনি 2-চর স্নিপেট সংযুক্ত করতে পারেন ”‘

ডেনিসকে +1 ধন্যবাদ ।

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


2

Lenguage , 1 112 064 স্নিপেট

এন স্নিপেট নিয়ে গঠিত 2 3N -1 এর পুনরাবৃত্তির এন পর্যন্ত অ ভাড়াটে ইউনিকোড অক্ষর, এবং সহ 1 112 064 তম এবং বর্তমান ইউনিকোড মান শেষ অ ভাড়াটে অক্ষর।

সরলতার জন্য আউটপুট অচেনা (নাল বাইটটি অঙ্ক হিসাবে ব্যবহার করে)। দশমিক সম্ভব, তবে এটি প্রোগ্রামগুলি আরও দীর্ঘ করে দেবে। Unary সঙ্গে, আমরা প্রথম প্রোগ্রাম পরীক্ষা করতে পারেন।

এন = 1 এর জন্য আমরা ইউ + 0000 এর 4 টি পুনরাবৃত্তি পাই । এটি ব্রেনফাক প্রোগ্রামের সমতুল্য. , যা এক নাল বাইট প্রিন্ট করে।

জন্য এন = 2 , আমরা পেতে 32 এর পুনরাবৃত্তির U + এ 0001 , মোট 36 টি অক্ষর। এটি ব্রেনফাক প্রোগ্রামের সমান .., যা দুটি নাল বাইট প্রিন্ট করে।

জন্য এন = 3 , আমরা পেতে 256 এর পুনরাবৃত্তির U + এ 0002 , মোট 292 টি অক্ষর। এটি ব্রেনফাক প্রোগ্রামের সমান ..., যা তিনটি নাল বাইট প্রিন্ট করে।

এবং এর আগে, এন = 1 112 064 পর্যন্ত


দশমিক হিসাবে আপনি সমতুল্য বা তর্ক করতে পারেন? আমি অবিচ্ছিন্ন আউটপুট নিয়ে sensকমত্যের বিষয়ে নিশ্চিত নই তবে আমি বিশ্বাস করি যে এটি দশমিকের ধারণার অভাবের ভাষাগুলির জন্য, কমপক্ষে, সর্বশেষে আমি যাচাই করেছিলাম
কনর ওব্রায়েন

আমি বিশ্বাস করি এটি দশমিক হ্যাঁর ধারণাগুলির অভাবপূর্ণ ভাষার জন্য , এবং যেহেতু লেংগুয়েজের দশমিক I / O নেই, তাই আমি ধরে নিয়েছিলাম যে এটি ঠিক আছে। যাইহোক, এন এর'+'*(48 + d) +'.>' প্রতিটি দশমিক অঙ্কের জন্য ব্রেনফাক প্রোগ্রামটি এনকোড করা একই স্কোর অর্জন করবে achieve এটি বর্ণনা করা খুব শক্ত।
ডেনিস 21

আমি দেখি. ঠিক একই জিনিস।
কনর ও'ব্রায়েন

2

বেসিক (জেডএক্স স্পেকট্রাম), স্কোর 244 (নতুন স্কোর 247) [এটি কি প্রতারণা করছে?]

স্নিপেট 1:

2356 PRINT PEEK (PEEK 23635+256*PEEK 23636+2)+256*PEEK (PEEK 23635+256*PEEK 23636+3)-56-66

স্নিপেট 2: :

স্নিপেট 3: REM

স্নিপেটস 4-244: স্নিপেট 1, 2 এবং 3 এ নয় সমস্ত অক্ষর ব্যবহার করে একক-চরিত্রের স্নিপেট।

ব্যাখ্যা

অক্ষর

স্পেকট্রামে, PRINTএকটি একক অক্ষর (কোড 245)। 1 ব্যবহারসমূহ snippet 11 বিভিন্ন অক্ষর: 2, 3, 5, 6, +, -, *, (, ), PRINTএবং PEEKআপনি কি দেখতে যেমন স্পেস অক্ষরের একটি অংশ PRINTএবং PEEK, তাই স্থান নিজেই ব্যবহৃত হয় নি। আমি লাইন নম্বরটি 2356 দেওয়ার সিদ্ধান্ত নিয়েছি কারণ এই কোডগুলিতে কেবলমাত্র সংখ্যা রয়েছে।

13 এবং 14 অক্ষরের অনুমতি নেই। তার মানে সেখানে স্নিপেটের জন্য ২২৩ টি অক্ষর রয়েছে ২-২৪৪, শুরু করে :এবংREM কোডটি ত্রুটি বা অন্য কিছু করতে হবে এড়ানো।

কিভাবে এটা কাজ করে

এই কারণেই আমি নিশ্চিত নই যে এই উত্তরটি বইয়ের দ্বারা রয়েছে কিনা।

23635 হল 16-বিট সিস্টেম ভেরিয়েবল PROG এর মেমরি অবস্থান, এলএইচ হিসাবে সংরক্ষণ করা। (মানটি সাধারণত ২7575৫৫ হয় But তবে ভুল ফলাফল ছাড়াও যদি এই সংখ্যাটি সরাসরি না ঘটে তবে কোডটি ছোট করে দিলেও আমার অতিরিক্ত অঙ্কের অক্ষর ব্যয় করতে পারে)) প্রোগের মান হ'ল মেমরির অবস্থান যেখানে প্রোগ্রামটি নিজেই সঞ্চিত আছে। প্রথম দুটি বাইট হ'ল লাইন নম্বরটি এইচএল হিসাবে সংরক্ষণ করা হয়, নিম্নলিখিত দুটি বাইটগুলি এলএইচ হিসাবে সঞ্চিত লাইনের দৈর্ঘ্য। প্রোগ্রামটি তার নিজস্ব লাইনের দৈর্ঘ্যটি কীভাবে দেখায় তাই উপযুক্ত কিছু বিয়োগ করা দরকার

অক্ষর সংরক্ষণ করা হচ্ছে

সংখ্যাগুলি কীভাবে সংরক্ষণ করা হয় তা বিবেচনা করে, লাইনটি -114 দিয়ে শেষ হয়ে যেতে পারে যাতে স্নিপেট 1 টি তৈরি হতে পারে But থেকে 122; 56 এবং 66 দুর্দান্তভাবে করেছে।

কোডটি কিছুটা কুৎসিত সমস্ত নস্টিং এবং প্রগের মান গণনা ( PEEK 23635+256*PEEK 23636) এর সাথে দুবার। তবে আমি যদি এটি সঞ্চয় করে রাখি এবং পরে সঞ্চিত মানটি ব্যবহার করি তবে এটির জন্য অতিরিক্ত অক্ষর / স্নিপেটগুলি লাগবে - লাইনটি শুরু হতে পারে

2356 LET p=PEEK 23635+256*PEEK 23636: PRINT PEEK (s+2)...

যা 4 অতিরিক্ত অক্ষর ব্যবহার হবে: LET, p, =এবং :

সম্ভবত আমি এটি ইঞ্জিনিয়ার করব যাতে সমস্ত নম্বরগুলি কেবল 1 ডিজিট ব্যবহার করে এবং 3 টি স্নিপেট অর্জন করে এমন সংখ্যা থেকে গণনা করা হয়।

সম্পাদনা করুন:

এখানে নতুন স্নিপেট 1 টি (যেভাবে স্পেকট্রামে একটি দীর্ঘ একক লাইনটি মোড়কে প্রদর্শিত হবে, সুতরাং আপনি যদি কোডটি পরীক্ষা করতে চান তবে এটি আপনাকে সঠিকভাবে টাইপ করে দেখতে সহায়তা করবে):

1111 PRINT +PEEK (PEEK (11111+11
111+1111+(1+1+1)*(111-11)+1+1)+(
111+111+11+11+11+1)*PEEK (11111+
11111+1111+(1+1+1)*(111+1-11))+1
+1)+(111+111+11+11+11+1)*PEEK (P
EEK (11111+11111+1111+(1+1+1)*(1
11-11)+1+1)+(111+111+11+11+11+1)
*PEEK (11111+11111+1111+(1+1+1)*
(111+1-11))+1+1+1)-111-111-111-1
11-111-111

আমি এড়িয়ে +এবং কেবল কাজটি করে অন্য স্নিপেট পেতে পারি -। আমি এটি চেষ্টা করতে যাচ্ছি না, এটি একটি অগ্নিপরীক্ষা যথেষ্ট ছিল।


2

ক্লিন 011 , 9 টি স্নিপেট ets

স্নিপেট ঘ

!@1!aaaaaaaaaaaaaaaaaaaaa/a

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

স্নিপেট 2

2((2|bbb0b2bbbb4bbbbbbbb

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

স্নিপেট 3


c\*3ccccccccccccccccccccc\ccccccccc3c6cccc9
c\

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

স্নিপেট 4

ddddddddddddddddddddddd>$d:d:++-$:+:+++$:?:-$-+++

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

স্নিপেট 5

ee

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

স্নিপেট 6

fff

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

স্নিপেট 7

ggggg

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

স্নিপেট 8

hh

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

স্নিপেট 9

iiiii

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

ব্যাখ্যা

ক্লেইনের পক্ষে এটি একটি মজার চ্যালেঞ্জ ছিল। ক্লেইনের অনন্য টপোলজি অনেক আকর্ষণীয় জিনিস করার অনুমতি দেয়। আপনি লক্ষ্য করতে পারেন যে উত্তরগুলি 5-9 কেবল আবদ্ধকারী বাক্সটি প্রসারিত করার জন্য কোডটিতে ফিলার যুক্ত করছে (অক্ষরগুলি ক্লিনে কিছুই করেন না তাই আমি সেগুলি ফিলার হিসাবে ব্যবহার করেছি)। এটি ক্লিনের অনন্য টপোলজির কারণে আইপি কোডের পূর্ববর্তী অংশগুলির মধ্য দিয়ে একটি পৃথক পথ অবলম্বন করে।

আমি পরে একটি সম্পূর্ণ ব্যাখ্যা করতে যাচ্ছি, তবে আপাতত .এস এর পরিবর্তে সমস্ত অক্ষরের সাথে প্রোগ্রামটির সংস্করণটি বোঝা সহজ to

!@1!...................../.2((2|...0.2....4........
.\*3.....................\.........3.6....9
.\.......................>$.:.:++-$:+:+++$:?:-$-+++.................

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


2

> <> , স্কোর: ইনফিনিটি 1,112,064-6 = 1,112,058

স্নিপেট 1 (6 বাইট)

"l4-n;

এই স্নিপেট অক্ষরের পরিমাণের পরে আউটপুট দেয়; এক যোগ করুন. এটি প্রতিটি অক্ষরের অসীম অতি বৃহত পরিমাণে স্নিপেটে প্রসারিত হতে পারে । একটি তাত্ক্ষণিক গুগল আমাকে জানায় যে সেখানে 1,112,064 সম্ভাব্য ইউনিকোড অক্ষর রয়েছে, আমি ইতিমধ্যে ব্যবহার করেছি us বিয়োগ করা।

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


1

আর , স্কোর: 79

অনুপ্রেরণার জন্য শানের পার্ল উত্তরের ক্রেডিট ; এটি আর দোভাষীকে কিছু গালিগালাজ করে।

প্রথম স্নিপেট:

nchar(scan(,""))
a

পরবর্তী স্নিপেটগুলি হ'ল অক্ষর:

bdefgijklmopqtuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789`~!@$%^&*_+|\[]{}:?><;

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

scanফাংশন ফাইল থেকে নেওয়া ডেটা সার্চ ""যা ডিফল্ট stdin()

দস্তাবেজগুলি stdin()ইঙ্গিত করে যে:

আর যখন কোনও ফাইল থেকে কোনও স্ক্রিপ্ট পড়তে থাকে, তখন ফাইলটি 'কনসোল': ইন-লাইন ডেটা মঞ্জুরি দেওয়ার জন্য এটি traditionalতিহ্যবাহী ব্যবহার (উদাহরণের জন্য 'আর এর পরিচিতি' দেখুন)।

সুতরাং, পরবর্তী ডেটা ফাইল হয়ে যায় become এটি তুচ্ছভাবে প্রসারিত হতে পারে এবং একাধিক বিভিন্ন এনকোডিংয়ের সাথে কাজ করতে পারে।


1

পাইক , 256 বাইট, স্কোর 254

দয়া করে নোট করুন যে এগুলি প্রকৃত বাইটগুলির হেক্স কোডগুলি, স্পেস দ্বারা বিচ্ছিন্ন, যেহেতু নাল বাইট (\x00 ) অন্তর্ভুক্ত রয়েছে।

স্নিপেট শুরু হচ্ছে:

6C 22 00

পরবর্তীকালে 1-চর স্নিপেটস:

01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20 21 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63 64 65 66 67 68 69 6A 6B 6D 6E 6F 70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F 80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F 90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 AA AB AC AD AE AF B0 B1 B2 B3 B4 B5 B6 B7 B8 B9 BA BB BC BD BE BF C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 DA DB DC DD DE DF E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 EA EB EC ED EE EF F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 FA FB FC FD FE FF

এখানে চেষ্টা করুন!


1

জাভা 8, 7 স্নিপেট (19 বাইট)

1
*2
-~0
>4?4:4
|5
^3
7%7

কেবল একটি সূচনা, এটিতে কাজ চালিয়ে যাবে।

এখানে চেষ্টা করুন।

ব্যাখ্যা:

যখন আমি প্রথম বন্ধনী যুক্ত করি তখন সম্ভবত মৃত্যুদন্ডের অগ্রাধিকার স্পষ্ট করা হয়:

((1*2)-~0)>4?4:4|(5^(37%7))
  • a*b: গুন aসঙ্গেb
  • ~a: -a-1
  • a>b?x:y: if(a>b){ x }else{ y }
  • a|b: বিটওয়াইস-ওআর aসহb
  • a^b: Bitwise-XOR যাও aসঙ্গেb
  • a%b: aমডুলো-b

1

পাইথন 2 , 110 স্নিপেটস

এখানে সম্পূর্ণ স্নিপেট:

print((((len(open(__file__).read())-44.))))

#	 !"$%&'*+,/012356789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^`bcghjkmqsuvwxyz{|}~

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

প্রথম স্নিপেট হয়

print((((len(open(__file__).read())-44.))))

এবং তারপরে পরবর্তী 109 স্নিপেটগুলি হ'ল পরের 109 বাইট।

লিন এটি রাখার সাথে সাথে এটি বেশ "প্রতারণাপূর্ণ"। প্রথম স্নিপেট ফাইলটি খুলবে এবং তার দৈর্ঘ্য থেকে ৪৪ টি বিয়োগ করে, তারপরে একে অপরের স্নিপেট পুরোপুরি প্রোগ্রামটির যুক্তি পরিবর্তন না করে ফাইলের দৈর্ঘ্যে 1 যোগ করে। এভাবে 1 দ্বারা আউটপুট ফলাফল বৃদ্ধি।


1

ডিসি , স্কোর 13, 58 বাইট

I3%                   #I is the default input radix, 10, mod 3 yields 1
1+                    #Add one
2^2^2^Z               #2^8=256, Z pushes the number of digits to the stack
6*v                   #Square root of 18 = ~4.24, at precision 0 we get 4
c5                    #Start getting lazy, clear the stack and push 5
_F-E-                 #Subtract negative 15, then subtract 14
ss7                   #Lazy, 'drop' the value by storing it, push 7
SS8                   #Lazy, 'drop' the value by storing it, push 8
d::9                  #Lazy, 'drop' the value by storing it, push 9
;;kA                  #Recall element 9 from nonexistant array ; which is zero, set precision, push A (10)
iB                    #Set input radix to 10, push B (11)
oD                    #Set output radix to 11, push D (13, or 12 in base 11)
 4CCCCCCr/4C/CC/4/    #We have division and the digits 4 and C left, this might not be the optimal way to get us to 13 but it does the job

এটি অনলাইন চেষ্টা করুন! (দ্রষ্টব্য, টিআইও সংস্করণ একটি যুক্ত করেf প্রতিটি স্নিপেটের পরে পুরো স্ট্যাকটি মুদ্রণের জন্য যুক্ত করে, এটি দেখায় যে প্রতিটি স্নিপেট স্ট্যাকের জন্য কেবল একটি মান রেখে যায়; এছাড়াও আমি শেষ স্নিপেটের শীর্ষস্থানটি ভুলে গিয়েছিলাম যা তারা যখন কার্যকরভাবে কার্যকর হয় না) লাইন ব্রেক দ্বারা বিচ্ছিন্ন হয়ে গেছে তবে এটি আমার অক্ষরের ব্যবহারের সাথে গণনা করে)

প্রতিটি অতিরিক্ত স্নিপেট কনটেনটেশন পছন্দসই মান এবং স্ট্যাকের মধ্যে কেবল পছন্দসই মানটি ছেড়ে দেয়। 12 টি আঘাত করার পরে, আমি স্ট্যাকটি খাওয়ার উপায়গুলি একরকম ছড়িয়ে পড়েছিলাম। আমি গণিত ক্রিয়াকলাপগুলি প্রথম দিকে ব্যবহার করার চেষ্টা করেছি যেহেতু তারা স্ট্যাকটি গলগল করে এবং আমরা বৃহত সংখ্যায় নামার সাথে সাথে এটি পরিচালনা করতে আরও জটিল হয়। যখন সব কিছু বলা হয়ে যায় এবং হয়ে যায়, তখন খেলতে খেলতে আমার কাছে কেবলমাত্র 0 সংখ্যা বাকী রয়েছে এবং স্ট্যাক-পপিংয়ের পথে খুব কম, তাই আমার মনে হয় 13টি বেশিরভাগের কাছাকাছি চলে গেছে। আমি নিশ্চিত যে ডিসি তে এটি সম্পাদন করার অনেকগুলি অনুরূপ (এবং সম্ভবত আরও সংক্ষিপ্ত) উপায় রয়েছে, এই ধরণের একমাত্র জায়গায়। নোট করুন যে সাইগউইন ডিসি-র বেশিরভাগ সংস্করণ থেকে 0-9 এর সাথে মিশে এএফকে পরিচালনা করেন,44C4r/CC 4// চূড়ান্ত স্নিপেটের জন্য কাজ করে।


0

পাইথ , 124 স্নিপেটস

l"x00x01x03x04x05x06x07x08
x0bx0c
x0ex0fx10x11x12x13x14x15x16x17x18x19x1ax1bx1cx1dx1ex1f !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijkmnopqrstuvwxyz{|}~x7f

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

ছাপানো অক্ষরগুলি যেখানে তিনটি মুদ্রণযোগ্য অক্ষর ( x..) ব্যবহার করে পালিয়ে গেছে । প্রথম স্নিপেটটি তিন বাইট দীর্ঘ, তার পরে প্রতিটি স্নিপেট দৈর্ঘ্যে এক এক করে বাড়তে থাকে।


0

বিটনিক , 22 বাইট, 20 স্কোর

K A
E
I
L
N
O
R
S
T
U
a
e
i
l
n
o
r
s
t
u

"স্নিপেট" শব্দটি ধরে নিলে আপনি স্ট্যাকের উপরে মানটি চাপতে পারবেন।


0

অক্টাভা, স্কোর 86

nnz n

অনুসরণ করেছেন:

!$&()*+./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmopqrstuvwxy{|}~

এটি এই সত্যটি কাজে লাগায় যে অক্টাভা ফাংশন নামের পরে সমস্ত কিছুকে স্ট্রিং ইনপুট হিসাবে বিবেচনা করে। সুতরাংnnz n স্ট্রিং-এ শূন্য নয় এমন উপাদানগুলির সংখ্যা প্রদান করে 'n'। অন্যান্য মুদ্রণযোগ্য ASCII- অক্ষর যুক্ত করে আমরা 86 এ পৌঁছে যাই। ',"%#কাজ করে না



0

জুলিয়া 0.6, 111217

নিম্নলিখিত স্ক্রিপ্টটি সম্পূর্ণ প্রোগ্রাম তৈরি করে:

A = "macro length(a);length(string(a))end;@length a"
B0 = join(([Char(x) for x in Iterators.flatten((0x000001:0x00d7ff, 0x00e000:0x10ffff)) if Base.isvalid(Char(x)) && Char(x) ∉ A && Base.isidentifier("a$(Char(x))") ]));
B = normalize_string(B0, stripmark=true, decompose=true);
B = join(unique(b for b in B))
while (n = search(B, '·')) > 0
    B = B[1:prevind(B,n)]*B[nextind(B,n):end]
end
while (n = search(B, '`')) > 0
    B = B[1:prevind(B,n)]*B[nextind(B,n):end]
end

open("concount.jl", "w") do f
    write(f, A)
    write(f, B)
end

ব্যাখ্যা

ম্যাক্রো

 macro length(a);length(string(a))
 end
 @length a

সনাক্তকারীগুলিতে মঞ্জুরিযুক্ত স্বতন্ত্র ইউনিকোডের সমস্ত অক্ষর অনুসরণ করে isidentifier। কিছু ডায়রিট্রিয়াল চিহ্নগুলি গণনা জড়িত তাই আমি সেগুলি সরিয়েছি।


0

টেক্স, স্কোর 61 (সম্ভবত 190)

প্রথম স্নিপেট:

\def\len#1{\expandafter\glen\string#1=}
\def\glen#1{\tlen}
\def\tlen#1{\if#1=\let\tlen\end\number\count1\else\advance\count1by1\fi\tlen}
\count1=-1
\catcode33=11
\catcode34=11
\catcode36=11
\catcode37=11
\catcode'46=11
\catcode40=11
\catcode41=11
\catcode42=11
\catcode43=11
\catcode44=11
\catcode45=11
\catcode46=11
\catcode47=11
\catcode56=11
\catcode57=11
\catcode'72=11
\catcode'73=11
\catcode60=11
\catcode62=11
\catcode63=11
\catcode64=11
\catcode'133=11
\catcode'135=11
\catcode'136=11
\catcode'137=11
\catcode'140=11
\catcode124=11
\catcode126=11
\len\t

অন্যান্য 60 টি স্নিপেট: যে কোনও ক্রমে, প্রতিটি অক্ষরের বাইরে রয়েছে

!"$%&()*+,-./:;<>?@[]^_`|~89ABCDEFGHIJKLMNOPQRSTUVWXYZhjkqwz

ব্যাখ্যা: \lenযা শেষে ডাকা হয়, একটি নিয়ন্ত্রণ অনুক্রমকে একটি স্ট্রিতে রূপান্তর করে, প্রতিটি অক্ষর (সহ \) সেই স্ট্রিংয়ের একটি অক্ষর টোকেন; তারপরে \glenগাবলস টোকেন\ , তারপরে \tlenবাকী টোকেন গণনা করুন। সুতরাং এটি নিয়ন্ত্রণ ক্রমের দৈর্ঘ্যকে আউটপুট করে (অন্তর্ভুক্ত নয়)\ ) ।

অন্যান্য স্নিপেটের অক্ষরগুলি নিয়ন্ত্রণ ক্রমটি প্রসারিত করে যা প্রাথমিকভাবে ঠিক \t । মাল্টি-ক্যারেক্টার কন্ট্রোল সিক্যুয়েন্স কেবলমাত্র অক্ষর দিয়ে তৈরি করতে হয়, তবে সেগুলি সমস্ত অক্ষর হিসাবে গণনা করা হয় কারণ এগুলি সমস্ত বিভাগের কোড 11 নির্ধারিত হয়েছে (ASCII কোড ব্যবহার করে যাতে অক্ষরগুলি নিজের প্রথম স্নিপকেটে প্রদর্শিত না হয়)।

আমি এমন কয়েকটি চরিত্রের জন্য অষ্টাল কোডগুলি ব্যবহার করার সিদ্ধান্ত নিয়েছি যার জন্য আমার একটি প্রতীক লাগবে, ' তবে আমাকে 8 এবং 9 টি দুটি সংখ্যা সংরক্ষণ করা হয়েছে, তাই আমি একটি স্নিপেট অর্জন করেছি। আমার প্রয়োজন না হলে সম্ভবত আরও কয়েকটা অর্জন করতে পারত \expandafter

আউটপুট

সম্ভাব্য নড়চড়: মোড়ানো \number\count1মধ্যে \message{}তাই আউটপুট ঢোকা না .dviআউটপুট কিন্তু এর পরিবর্তে কনসোল আউটপুট এবং.log । এটি কোনও অতিরিক্ত চিঠি খরচ করে না।

190

দুর্ভাগ্যক্রমে টেক্স ASCII এর সাথে কাজ করে এবং ইউনিকোড নয় (বা এটি এখন?), তবে আমার সমাধানটি সম্ভবত 127-255 কোডযুক্ত 129 টি আরও একক-চরিত্রের স্নিপেটগুলি অন্তর্ভুক্ত করার জন্য বাড়ানো যেতে পারে। এমনকি 32-র আগেও কিছু অক্ষর .২ অক্ষর (স্পেস) কাজ করে না, অন্যথায় আমি এটি একটি স্নিপেটেও রেখে দেব - প্রথম স্নিপেটে এটির দরকার ছিল না। অবশ্যই, এই অতিরিক্ত অক্ষরের প্রত্যেকটিকে \catcodeপ্রথম স্নিপেটে একটি চিঠির মধ্যে লিখতে হবে ।


0

পিপ, 57 বাইট, স্কোর = 16

!u
2
RT9
#m
5
(EX3Y8)
7
y
A'<tab>
t
11
+o
-v
PI@`\...`@`..$`
"F"FB:4*4
Ok=k6

নোট যেটি <tab>আক্ষরিক ট্যাব চরিত্রের প্রতিনিধিত্ব করে (ASCII 9)। এটি অনলাইন চেষ্টা করুন!

প্রতিটি স্নিপেট একটি সম্পূর্ণ প্রোগ্রাম যা কাঙ্ক্ষিত সংখ্যাটি ছাড়িয়ে যায়। তাদের বেশিরভাগই এই নীতিতে কাজ করে যে একটি পিপ প্রোগ্রামে সর্বশেষ প্রকাশটি স্ব-মুদ্রিত: উদাহরণস্বরূপ, স্নিপেট 5 এ, পূর্ববর্তী কোডটি মূল্যায়ন করা হয়, তবে কেবলমাত্র এটিই মূল বিষয় 5। এর ব্যতিক্রমগুলি হ'ল:

  • স্নিপেট 3 বিচ্ছিন্নভাবে RT9(9 এর বর্গমূল) হিসাবে সূক্ষ্মভাবে কাজ করে , তবে স্নিপেট 2 এর পরে এটি আসলে 2RT9(9 এর দ্বিতীয় মূল) পার্স করে - যা অবশ্যই একই জিনিসটির সমান।
  • স্নিপেট 6 ই ^ 3 এর 8 তম অক্ষর (0-সূচকযুক্ত) পায় যা 6. এর মতো হয় 8 তবে এটি 8 নম্বরটি yভেরিয়েবলের সাথেও ইয়ঙ্ক করে । স্নিপেট 8 এর মান আউটপুট করে y
  • স্নিপেট 12 পূর্ববর্তী স্নিপেট থেকে 11 নেয় এবং যোগ করে o(1- এ পূর্বনির্ধারিত )। স্নিপেট 13 ফলাফলটি গ্রহণ করে এবং বিয়োগ করে v(-1 এ পূর্বনির্ধারিত)।
  • 1একটি নিউলাইন ছাড়াই স্নিপেট 16 আউটপুট ( Ok=kযেখানে k=k1 এর ডিফল্ট সত্যবাদী মানের মূল্যায়ন করা হয়) এবং তারপরে স্ব-চিহ্নগুলি 6

অন্যান্য আকর্ষণীয় জিনিস:

  • স্নিপেট 14 14পাই এর মান থেকে নিষ্কাশন করতে রেগেক্স অপারেশন ব্যবহার করে ।
  • স্নিপেট 15 স্ট্রিংটিকে "F"হেক্সাডেসিমাল থেকে রূপান্তর করে ।

0

জেডএস , স্কোর> 50 000 (1 112 046?), 16 + Σ (ইউটিএফ -8 কোডপয়েন্ট দৈর্ঘ্য) বাইট

exec echo   $((${#:-$(<$0)}-33))
#

Zsh ডিফল্টরূপে মাল্টিবাইট এনকোডিংগুলি পরিচালনা করে। বেস স্নিপেটে 18 টি অনন্য অক্ষর রয়েছে, মোট 34 টি। অন্যান্য প্রতিটি কোডপয়েন্ট (নাল বাইটের জন্য সংরক্ষণ করুন) এতে যুক্ত করা যেতে পারে। আমি যখন এটি লিখছি, আমার স্ক্রিপ্ট পরীক্ষার কোডপয়েন্ট oint 50 000, মোট ফাইলের আকার 150 কে, প্রায় 30 স্নিপেট / সেকেন্ডে চলছে। আমার সম্পূর্ণ পরীক্ষার স্ক্রিপ্ট নিজে এখানে চালান। আপনি এটি পরবর্তী কোনও কোডপয়েন্টে শুরু করতে সামঞ্জস্য করতে চাইতে পারেন।

অনলাইনে প্রথম 2000 স্নিপেট ব্যবহার করে দেখুন!

এই কৌশলটি ব্যবহার করে আরও স্নিপেটগুলি সম্ভব ।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.