আমরা সব জানি, মেটা হয় সজল সঙ্গে অভিযোগ সম্পর্কে রান কোড-গলফ মধ্যে ভাষায় (হ্যাঁ, প্রতিটি শব্দ একটি পৃথক লিঙ্ক, এবং এই হিমশৈল এর টিপ হতে পারে)।
যারা পাইথ ডকুমেন্টেশনগুলি প্রকৃতপক্ষে দেখার জন্য উদ্বিগ্ন ছিলেন তাদের প্রতি এতটা হিংসুকের সাথে আমি ভেবেছিলাম কোড চ্যালেঞ্জগুলিতে বিশেষত এমন একটি ওয়েবসাইটের উপযুক্ততাযুক্ত একটি গঠনমূলক চ্যালেঞ্জের কিছুটা বেশি রাখা ভাল লাগবে।
চ্যালেঞ্জ বরং সোজা। ইনপুট হিসাবে , আমরা ভাষার নাম এবং বাইট গণনা আছে । এগুলি আপনি ফাংশন ইনপুট stdin
বা আপনার ভাষা ডিফল্ট ইনপুট পদ্ধতি হিসাবে নিতে পারেন ।
আউটপুট হিসাবে , আমাদের একটি সংশোধন করা বাইট গণনা রয়েছে , অর্থাত্ প্রতিবন্ধকতা সহ আপনার স্কোর। স্পষ্টতই, আউটপুটটি ফাংশন আউটপুট stdout
বা আপনার ভাষাগুলির ডিফল্ট আউটপুট পদ্ধতি হওয়া উচিত। আউটপুটটি পূর্ণসংখ্যাগুলিতে বৃত্তাকার হবে, কারণ আমরা টাইব্রেকারকে পছন্দ করি।
সর্বাধিক কুরুচিপূর্ণ, হ্যাক করা একসাথে ক্যোয়ারী ( লিঙ্ক - এটি পরিষ্কার করার জন্য নির্দ্বিধায়) ব্যবহার করে, আমি একটি ডেটাसेट তৈরি করতে পরিচালিত করেছি (.xslx, .ods এবং .csv সহ জিপ) যা কোড-গল্ফ প্রশ্নের সমস্ত উত্তরগুলির একটি স্ন্যাপশট ধারণ করে । আপনি এই ফাইলটি ব্যবহার করতে পারেন (এবং এটি আপনার প্রোগ্রামে উপলব্ধ হতে অনুমান, যেমন, এটি একই ফোল্ডারে থাকবে) বা অন্য প্রচলিত ফর্ম্যাটে এই ফাইলটি রূপান্তর করুন ( , , ইত্যাদি - কিন্তু এটি শুধুমাত্র মূল ডাটা থাকতে পারে!)। নামটি পছন্দ বাড়ানোর সাথে থাকা উচিত with .xls
.mat
.sav
QueryResults.ext
ext
এখন সুনির্দিষ্ট জন্য। প্রতিটি ভাষার জন্য, একটি বয়লারপ্লেট B
এবং ভার্বোসিটি V
পরামিতি রয়েছে। একসাথে, তারা ভাষার একটি রৈখিক মডেল তৈরি করতে ব্যবহার করা যেতে পারে। আসুন n
বাইটের আসল সংখ্যা এবং c
সংশোধন করা স্কোর হয়ে উঠুন। একটি সাধারণ মডেল ব্যবহার করে n=Vc+B
আমরা সংশোধন করা স্কোরটি পেতে পারি:
n-B
c = ---
V
যথেষ্ট সহজ, তাই না? এখন, নির্ধারণ V
এবং জন্য B
। যেমনটি আপনি প্রত্যাশা করতে পারেন, আমরা কিছু লিনিয়ার রিগ্রেশন বা আরও সুনির্দিষ্টভাবে করতে যাচ্ছি, লিনিয়ার রিগ্রেশনকে কমপক্ষে স্কোয়ারের ওজনযুক্ত। আমি সে সম্পর্কে বিশদটি ব্যাখ্যা করতে যাচ্ছি না - যদি আপনি কীভাবে এটি করবেন তা নিশ্চিত না হন, উইকিপিডিয়া আপনার বন্ধু , বা আপনি ভাগ্যবান হন তবে আপনার ভাষার ডকুমেন্টেশন।
ডেটা নীচে হবে। প্রতিটি ডেটা পয়েন্ট হবে বাইট গণনা n
এবং প্রশ্নের গড় বাইকোয়ান্ট c
। ভোটের জন্য অ্যাকাউন্ট করার জন্য, পয়েন্টগুলি ওজন করা হবে, তাদের ভোটের সংখ্যা এবং এক (0 ভোটের জন্য অ্যাকাউন্টে), সেটিকে কল করুন v
। নেতিবাচক ভোট সহ উত্তরগুলি বাতিল করতে হবে। সহজ কথায়, 1 টি ভোট দিয়ে একটি উত্তর 0 টি ভোট দিয়ে দুটি উত্তর হিসাবে সমান হওয়া উচিত।
এই ডেটাটি n=Vc+B
ওয়েট লিনিয়ার রিগ্রেশন ব্যবহার করে পূর্বোক্ত মডেলটিতে লাগানো হবে ।
উদাহরণস্বরূপ , প্রদত্ত ভাষার জন্য ডেটা দেওয়া
n1=20, c1=8.2, v1=1
n2=25, c2=10.3, v2=2
n3=15, c3=5.7, v3=5
এখন আমরা প্রাসঙ্গিক ম্যাট্রিক্স এবং ভেক্টর রচনা A
, y
এবং W
ভেক্টর আমাদের পরামিতি সঙ্গে,
[1 c1] [n1] [1 0 0] x=[B]
A=[1 c2] y=[n2] W=[0 2 0], [V]
[1 c3] [n3] [0 0 5]
আমরা ম্যাট্রিক্স সমীকরণ ( '
ট্রান্সপোজকে বোঝাতে) সমাধান করি
A'WAx=A'Wy
জন্য x
(এবং পরিণামে, আমরা আমাদের পেতে B
এবং V
প্যারামিটার)।
আপনার নিজস্ব ভাষার নাম এবং বাইটকাউন্ট দেওয়ার পরে আপনার স্কোরটি আপনার প্রোগ্রামের আউটপুট হবে। হ্যাঁ, এবারও জাভা এবং সি ++ ব্যবহারকারীরা জিততে পারবেন!
সতর্কতা: লোকেরা 'শীতল' শিরোনামের ফর্ম্যাটিং ব্যবহার করে এবং কোড-গল্ফ হিসাবে তাদের কোড-চ্যালেঞ্জ প্রশ্নগুলি ট্যাগ করার জন্য লোকেরা প্রচুর অবৈধ সারি দিয়ে একটি ডেটাসেট উত্পন্ন করে । আমি যে ডাউনলোডটি ডাউনলোড করেছি তাতে বেশিরভাগ বিদেশি অপসারণ করেছে। ক্যোয়ারীর সাথে সরবরাহিত সিএসভি ব্যবহার করবেন না।
শুভ কোডিং!
C++ <s>6 bytes</s>
। তদ্ব্যতীত, আমি আজকের আগে আর কোনও টি-এসকিউএল করিনি এবং আমি ইতিমধ্যে নিজেকে নিয়ে মুগ্ধ হয়েছি যে আমি বাইটকাউন্টটি বের করতে সক্ষম হয়েছি।