ইংলিশ ট্রান্সলেট অনুবাদ করুন


23

আপনার চ্যালেঞ্জ হ'ল (ইংরাজী) লেটস্পেক / ললস্পিক / টেক্সটস্পেককে সাধারণ ইংরেজিতে অনুবাদ করার জন্য একটি প্রোগ্রাম লিখুন। আপনার প্রোগ্রামটি স্ট্যান্ডার্ড ইনপুট এবং আউটপুট থেকে স্ট্যান্ডার্ড আউটপুট পর্যন্ত পড়া উচিত, যদি না আপনার ভাষা এগুলি সমর্থন করে না।

আপনি ইংরাজী ভাষায় শব্দের একটি তালিকা যুক্ত একটি ফাইল ব্যবহার করতে পারেন, নতুন রেখার দ্বারা পৃথক করে। এটি কল করা উচিত Wএবং আপনার প্রোগ্রাম হিসাবে একই ডিরেক্টরিতে অবস্থিত হবে। (জিএনইউ / লিনাক্স সিস্টেমে এবং সম্ভবত অন্যদের জন্য আপনি Wএকটি লিঙ্ক তৈরি করতে পারেন /usr/share/dict/words) তালিকাটি সর্বনিম্ন হতে হবে না, শব্দের রাজধানী হওয়া উচিত কিনা তা নির্ধারণের জন্য আপনি এটি ব্যবহার করতে পারেন।

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

স্কোরিং

স্কোরিং কিছুটা জটিল!

তোমার সংগ্রহ

(leet items + bonuses) * 10 / (code length)

সর্বোচ্চ স্কোর জয়।

আপনার প্রোগ্রামটি হতে হবে না এবং সম্ভবত নিখুঁত হতে পারে না, তবে এটি যত বেশি নির্ভুল, তত বেশি বোনাস পাবে!

যেহেতু $উভয়ই বোঝাতে পারে sএবং S, এটির মূলধনপত্র (অর্থাত বাক্য শুরুতে মূল অক্ষর) থাকা উচিত কিনা তা সিদ্ধান্ত নেওয়ার জন্য আপনি লিট আইটেমের জন্য পাঁচ পয়েন্টের বোনাস পান।

যথাযথ বিশেষ্যগুলি প্রয়োগ করার জন্য আপনি প্রতি লিট আইটেমের জন্য আরও পাঁচ পয়েন্টের বোনাস পান (শব্দগুলি যা সর্বদা রাজধানী থাকে) - এটি যেভাবে কাজ করে তা হ'ল শব্দ তালিকার মাধ্যমে আপনি যদি আউটপুটকে মূলধন করে থাকেন তবে কেবলমাত্র মূলধন সংস্করণ উপস্থিত থাকে তালিকা এবং যদি উভয় সংস্করণ থাকে তবে কেবল অনুমান করুন।

যদি কোনও চরিত্রের দুটি অর্থ থাকে (উদাহরণস্বরূপ অর্থ 1হতে পারে Lবা I) তবে আপনি কেবলমাত্র লিখিত আইটেমটির 20 টি পয়েন্ট পেয়েছেন যা কেবলমাত্র ইংরেজি শব্দ তৈরি করে সেই আইটেমটির অনুবাদগুলি বেছে নেওয়ার জন্য - এর জন্য ওয়ার্ডলিস্টটি ব্যবহার করুন। যদি কোনও লিট আইটেমের একাধিক অনুবাদ একটি সত্যিকারের ইংরেজী শব্দ করে তবে আপনি নির্বিচারে বৈধ অনুবাদগুলির একটি বেছে নিতে পারেন এবং এখনও বোনাস পেতে পারেন।

লিটের তালিকা

এগুলি হ'ল লিট আইটেম যা আপনি প্রয়োগ করতে পারেন। আপনাকে সেগুলি কার্যকর করতে হবে না, তবে আপনি যত বেশি যুক্ত করবেন, তত বেশি পয়েন্ট পাবেন।

আপনি কোনও আইটেম বা চরিত্রকে নিজেই অনুবাদ করে পয়েন্ট স্কোর করতে পারবেন না। এই নিয়মটি তালিকায় আমার যে কোনও ভুল হতে পারে ওভাররাইড করে।

এটি একটি সহজ করতে লোভনীয় trবা s/.../.../g। আসল চ্যালেঞ্জটি হ'ল ওয়ার্ডলিস্টটি ব্যবহার করে কোন একাধিক অর্থ সঠিক এবং সঠিক হতে পারে না তা নির্ধারণ করা।

লেট আইটেম (এই প্রতিটি leet itemsসূত্রে 1 যোগ করে )

$ -> গুলি, এস
(-> সি, সি
5 -> এস, এস
@ -> এ, এ
4 -> এ, এ
3 -> ই, ই
7 -> টি, টি
+ -> টি, টি
# -> এইচ, এইচ
তেহ -> দ্য
'd -> এডি
pwnd -> বন্ধ
pwnt -> pwned
কে, কে -> ঠিক আছে
kk -> ঠিক আছে
0 [শূন্য] -> ও, ও
y, Y -> কেন
4 -> জন্য
txt -> পাঠ্য
dafuq -> কি f ** কে
/ \, ^ -> এ, এ
\ / -> ভি, ভি
d00d -> বন্ধু
n00b -> নবাগত
\ / \ / -> ডাব্লু, ডাব্লু
8 -> খ, খ
|: _ | -> ইউ, ইউ
| - | -> এইচ, এইচ
Я -> আর, আর
j00 -> আপনি
joo -> আপনি
ভিভি, ভিভি -> ডাব্লু, ডাব্লু
টমোজ -> আগামীকাল
| <-> কে, কে
[), |) -> ডি, ডি
<3 -> ভালবাসা
> <-> এক্স, এক্স
10100111001 -> লিট (1337 এর বাইনারি উপস্থাপনা)
2 -> থেকেও
আপনার, ইউআর -> আপনার, আপনি (দুজনের মধ্যে সঠিকভাবে আলাদা করার দরকার নেই)
u, U -> আপনি
8 -> -সেট-, 8
এক্স, এক্স -> -স -, - সিক্স-
z, Z -> s, এস
1 -> আই, আই, এল, এল
! -> আমি, আমি,!
সি, সি -> দেখুন, সি, সমুদ্র
বি, বি -> হতে, বি, মৌমাছি
[উচ্চারণকৃত চিঠি] -> [অ-উচ্চারণবিহীন ফর্ম] (স্বরযুক্ত চিঠির প্রতি স্কোর 1 সমর্থন করা)
&, 7 -> এবং, অ্যানডেড, পিপীলিকা (কোনও শব্দের মাঝখানে ব্যবহৃত হতে পারে)

হার্ড "লেট": leet itemsপ্রতিটি জন্য 30 পয়েন্ট স্কোর

!!! 1 !! 1-> !!!!!!! (এর একের ক্রমে 1 এর অনুবাদ করুন! এর মধ্যে!)
!!! এক! -> !!!!!
! এগারো-> !!!

উদাহরণ

এগুলি উদাহরণস্বরূপ যে কোনও প্রোগ্রাম যা উপরের সমস্ত লিট অক্ষর প্রয়োগ করে এবং কিছু বোনাস, এটি করতে সক্ষম হতে পারে:

উদাহরণ বাক্য: |-|3 15 $|_|(# @ n00b=He is such a newbie

লেট-ভিত্তিক সেন্সরশিপ: $#!+=s**t

চরম লিট: \/\/ 1 |< 1 P 3 [) 1 A=Wikipedia

-xor প্রত্যয়: H4X0R=hacker

আরও চরম লিট: @1\/\/4Y5 p0$+ ur n3VV qu35710nz 1n teh $&80x=Always post your new questions in the sandbox

উদাহরণ স্কোরিং

বাশ, 10 টি অক্ষর, 3 আইটেম, কোনও বোনাস নেই:

tr 137 let

এই স্কোর ( 1 * 3 ) * 10 / 10 = 3


দুঃখিত আমি স্যান্ডবক্সের মধ্যে এই কথা বুঝতে পারিনি, কিন্তু আপনি 10 দ্বারা বনাস গুন করছি তারা এখনও অনেক শব্দ নিজেদের চেয়ে বেশি মূল্য। এটা কি আপনার উদ্দেশ্য?
মার্টিন এন্ডার

@ এম.বয়েটনার এটি কেবল trবা ব্যবহার করে লড়াই করা s/.../.../g। কেবল এই জাতীয় জিনিসগুলির অনুবাদ করা বিরক্তিকর চ্যালেঞ্জ তৈরি করে, সুতরাং আমাদের আরও ভাল অনুবাদগুলি পুরষ্কার করা দরকার যা

দীর্ঘ ধারাবাহিকটি কি জায়েজ হবে? আমি দেখতে আগ্রহী যে বেশিরভাগ ক্ষেত্রেই রেজিজেপসে কোনও প্রসঙ্গ-সচেতন উপায়ে এটি করা (কঠিন হলেও) সম্ভব ছিল কিনা। (অথবা হতে পারে কোনও sedস্ক্রিপ্ট))
ইসিয়া মিডোস

যখন আমি কোনও sedস্ক্রিপ্ট বলি , তখন আমি বোঝায় একটি সরল s/.../.../g, তবে একটি ফাইল যা পার্স এবং sedনিজেই সম্পাদিত হয় । ভাষাটি যেমন নির্লজ্জ, তেমনি এটি একটি সুন্দর গল্ফযোগ্য ভাষাও হতে পারে ...
মেডো

@ আইফিনবুল রেজেেক্সস একেবারে ঠিক আছে, যদিও আপনি কীভাবে ওয়ার্ডলিস্টটি খুলবেন এবং একা একা রিজেক্স ভাষা দিয়ে পার্স করবেন তা আমার কোনও ধারণা নেই। sedস্ক্রিপ্টগুলিও ঠিক আছে এবং খুব আকর্ষণীয় হতে পারে, সংক্ষিপ্ত প্রতিস্থাপন সিনট্যাক্সের কারণে তারা এটিতে খুব ভাল করতে পারে, আপনি জিএনইউ এক্সটেনশনের সাহায্যে বা sedবৃহত্তর বাশ প্রোগ্রামের অংশ হিসাবে ব্যবহার করে

উত্তর:


11

জাভাস্ক্রিপ্ট (49 + 5635) * 10/2174 = 26.14

অনলাইন ডেমো:

"রিয়াল অভিধান" বিকল্পটি ড্রপ বাক্সে কাজ করে না তবে এটি যদি সত্যিকারের ওয়েব সার্ভারে চালিত হয় তবে এটি কাজ করবে। ভিজ্যুয়াল স্টুডিও বিকাশ সার্ভার এবং গুগল ক্রোমে পরীক্ষিত।

https://dl.dropboxusercontent.com/u/141246873/leettranslator/index.html

স্কোর:

49 লিট আইটেম = 49

মূলধন বোনাস = 5 * 49 = 245

অভিধান অনুসন্ধান বোনাস = 20 * 49 = 980

বিস্মৃত বোনাস * 3 = 90 * 49 = 4410

(লিট আইটেম + বোনাস) * 10 / (কোড দৈর্ঘ্য)

(49 + 5635) * 10/2174 = 26.14

কোড:

function IsInDict(e) { return W[e] } function translate(e) { words = e.split(" "); res = ""; for (var t in words) { ex = ""; function n(e, r, i) { var s = false; for (var o = 1; o <= e.length; o++) { var u = e.substring(0, o) === "!" || i; var a = et[e.substring(0, o)]; var f = e.substring(o); if (a) { s = true; if (f.length === 0) { if (u) { ex = r + a; words[t] = "" } } else n(f, r + a, u) } } if (i && !s && r) { ex = r; words[t] = e.split("").reverse().join("") } } n(words[t].split("").reverse().join(""), "", false); mes = []; function r(e, t) { for (var n = 1; n <= e.length; n++) { var i = tokens[e.substring(0, n)]; var s = e.substring(n); if (i) { mFound = true; if (s.length === 0) for (var o in i) { mes.push(t + i[o]) } else for (var o in i) r(s, t + i[o]) } } if (e.length > 1) r(e.substring(1), t + e.substring(0, 1)); else { mes.push(t + e) } } m = ""; if (words[t] !== "") { r(words[t].toLowerCase(), ""); if (mes.length === 1) m = mes[0]; else { sl = []; for (var i in mes) { if (IsInDict(mes[i].slice(-1) === "." ? mes[i].substring(0, mes[i].length - 1) : mes[i])) { sl.push(mes[i]) } } if (sl.length > 0) m = sl[0]; else m = mes[0] } if (res === "") { m = cap(m) } if (res.slice(-1) === ".") { m = cap(m) } } res += " " + m; if (ex !== "") res += ex } return res.trim() } function cap(e) { return e.charAt(0).toUpperCase() + e.slice(1) } tokens = { $: ["s"], "(": ["c"], 5: ["s"], "@": ["a"], 4: ["a", "for"], 3: ["e"], "+": ["t"], "#": ["h"], teh: ["the"], "'d": ["ed"], pwnd: ["pwned"], pwnt: ["pwned"], k: ["ok"], kk: ["ok"], 0: ["o"], y: ["why"], txt: ["text"], dafuq: ["what the f**k"], "/\\": ["a"], "^": ["a"], "\\/": ["v"], d00d: ["dude"], n00b: ["newbie"], "\\/\\/": ["w"], 8: ["b", "ate"], "|_|": ["u"], "|-|": ["h"], "Я": ["r"], j00: ["you"], joo: ["you"], vv: ["w"], tomoz: ["tomorrow"], "|<": ["k"], "[)": ["d"], "|)": ["d"], "<3": ["love"], "><": ["x"], 10100111001: ["leet"], 2: ["to", "too"], ur: ["your", "you're"], u: ["you"], x: ["ks", "cks"], z: ["s"], 1: ["i", "l"], "!": ["i"], c: ["see", "sea"], b: ["be", "bee"], "&": ["and", "anned", "ant"], 7: ["and", "anned", "ant", "t"] }; et = { eno: "!", nevele: "!!", 1: "!", "!": "!" }

Ungolfed:

            tokens={
            '$':['s'],'(':['c'],'5':['s'],'@':['a'],'4':['a','for'],'3':['e'],'+':['t'],'#':['h'],'teh':['the'],"'d":['ed'],'pwnd':['pwned'],
            'pwnt':['pwned'],'k':['ok'],'kk':['ok'],'0':['o'],'y':['why'],'txt':['text'],'dafuq':['what the f**k'],
            '/\\':['a'],'^':['a'],'\\/':['v'],'d00d':['dude'],'n00b':['newbie'],
            '\\/\\/':['w'],'8':['b','ate'],'|_|':['u'],'|-|':['h'],'Я':['r'],'j00':['you'],
            'joo':['you'],'vv':['w'],'tomoz':['tomorrow'],'|<':['k'],'[)':['d'],'|)':['d'],'<3':['love'],
            '><':['x'],'10100111001':['leet'],'2':['to','too'],'ur':["your","you're"],
            'u':['you'],'x':['ks','cks'],'z':['s'],'1':['i','l'],'!':['i'],'c':['see','sea'],
            'b':['be','bee'],'&':['and','anned','ant'],'7':['and','anned','ant','t']}
            var excTokens = {'eno':'!','nevele':'!!','1':'!','!':'!'}

            function IsInDict(word)
            {
                return (W[word]);
            }

            function translate(input) {
                var words = input.split(" ");
                var result = "";
                for (var i in words) {
                    var exclamations = "";
                    function parseExclamations(s, prev, exclamationFound) {
                        var matchFound = false;
                        for (var j = 1; j <= s.length; j++) {
                            var hasExclamation = (s.substring(0, j) === "!") || exclamationFound;
                            var currentToken = excTokens[s.substring(0, j)];
                            var remaining = s.substring(j);
                            if (currentToken) {
                                matchFound = true;
                                if (remaining.length === 0) {
                                    if (hasExclamation) {
                                        exclamations = prev + currentToken;
                                        words[i] = "";//word only had exclamations in it so dont parse the rest of it
                                    }
                                }
                                else
                                    parseExclamations(remaining, prev + currentToken, hasExclamation);
                            }
                        }
                        if (exclamationFound && !matchFound && prev) {
                            exclamations = prev;
                            words[i] = s.split("").reverse().join("");//reverse back again
                        }
                    }
                    var reverseWord = words[i].split("").reverse().join("");
                    parseExclamations(reverseWord, "", false);

                    var matches = []
                    function parse(s, prev) {
                        for (var j = 1; j <= s.length; j++) {
                            var currentTokenArray = tokens[s.substring(0, j)];
                            var remaining = s.substring(j);
                            if (currentTokenArray) {
                                matchFound = true;
                                if (remaining.length === 0)
                                    for (var k in currentTokenArray) {
                                        matches.push(prev + currentTokenArray[k]);
                                    }
                                else
                                    for (var k in currentTokenArray)
                                        parse(remaining, prev + currentTokenArray[k]);
                            }
                        }

                        if (s.length > 1)
                            parse(s.substring(1), prev + s.substring(0, 1));
                        else {
                            matches.push(prev + s);
                        }
                    }

                    var match = "";
                    if (words[i] !== "") {
                        parse(words[i].toLowerCase(), "");

                        //check the dictionary
                        if (matches.length === 1)
                            match = matches[0];
                        else {
                            var shortlist = [];
                            for (var j in matches) {
                                //check dictionary. allow for a full stop at the end of the word
                                var isInDict = IsInDict(matches[j].slice(-1) === "." ? matches[j].substring(0, matches[j].length - 1) : matches[j]);
                                if (isInDict) {
                                    shortlist.push(matches[j]);
                                }
                            }

                            if (shortlist.length > 0)
                                match = shortlist[0];
                            else
                                match = matches[0];
                        }
                        if (result === "") {
                            match = cap(match);
                        }
                        if (result.slice(-1) === ".") {
                            match = cap(match);
                        }
                    }
                    result += " " + match;

                    if (exclamations !== "")
                        result += exclamations;
                }

                return result.trim();
            }

            function cap(string) {
                return string.charAt(0).toUpperCase() + string.slice(1);
            }

পরীক্ষার ফলাফল:

  • | - | 3 15 $ | _ | (# @ n00b ====> তিনি এমনই নবাগত
  • @ 1 // 4Y5 p0 $ + ur n3VV qu35710nz 1n te $ & 80x ====> সর্বদা আপনার নতুন প্রশ্নগুলি স্যান্ডবক্সে পোস্ট করুন
  • !!! 1 !! 1 ====> !!!!!!!
  • !!!এক! ====> !!!!!
  • ! এগারো ====> !!!
  • তেহ !!! 1 !! 1 ====> দ !!!!!!!
  • Teh !!! একজন! ====> দি !!!!!
  • তেহ! এগারো ====> দ্য !!!
  • তেহ !!! 1 !! 1 ====> দ !!!!!!!
  • qu35710nz 1! ====> প্রশ্ন !!!
  • +357 +357। 735+ ====> পরীক্ষা পরীক্ষা। পরীক্ষা
  • & 31! 73 # 4 (কেইআর $ ডাব্লুআর0 + 3 83773 আর এল! কে 3 + #! 5 7 # @ এন 2 ডি @ ওয়াই ====> এবং অভিজাত হ্যাকাররা আজকের চেয়ে এর চেয়ে ভাল লিখেছেন

নোট:

অভিধানটি একটি পৃথক জাভাস্ক্রিপ্ট ফাইল যা ডাব্লু নামে একটি বস্তুর সাথে সমস্ত শব্দের সমন্বিত থাকে। এটিতে প্রাসঙ্গিক পরীক্ষা চালানোর জন্য আমার প্রয়োজনীয় শব্দগুলি রয়েছে।


আপনি বন্ধ কম্পাইলার মাধ্যমে চালানো যদি 34. একমাত্র 1640 আপনার স্কোর আনয়ন অক্ষর
AMK

এই ফাইলটি কী কাজ করে? dl.rodboxusercontent.com/u/141246873/leettranslator/… কেবল ওয়েব থেকে ডিকশনারি পাওয়ার জন্য? (অর্থাত্ প্রোগ্রামটি W.jsযদি এটি সরানো হয় তবে এটি ব্যবহার করে চালানো যেতে পারে)

@ প্রফেসরফিশ একটি ডিকশনারির সাহায্যে একটি বাহ্যিক জেএস লিবকে থামিয়েছে (দশ অক্ষরের শব্দ পর্যন্ত)। এটি তখনই ব্যবহৃত হয় যদি ডেমোতে 'রিয়েল ডিকশনারি' বিকল্পটি নির্বাচন করা হয়। এটি কেবলমাত্র একটি ভাল অভিধানের সাথে ডেমো এবং আমার অফিশিয়াল উত্তরের অংশ নয় for
rdans

6

হাস্কেল - স্কোর 1.421421421: (37 আইটেম + (21 বোনাস (মূলধন) * 5)) * 10 / (999 বাইট)

এটি আমার চূড়ান্ত উত্তর।

import System.Environment
import Text.Parsec
import Text.Parsec.String
s=string
r=return
t=try
o=oneOf
(>|)=(<|>)
a p l u=b[p]l u
b (p:q) l u=e(foldl(>|)(s p)$map(s)q)l u
c p l u=e(o p)l u
d p q=t$s p>>r q
e p l u=t$do{p;r l}>|do{s". ";p;r$". "++u}
f p q=t$do{between(t$s" ")(t$s" ")(o p);r q}
g::Parser String
g=do{s<-many$c"$5""s""S">|c"@4^""a""A">|c"3""e""E">|c"7+""t""T">|c"#""h""H">|d"teh""the">|d"'d""ed">|d"pwnd""pwned">|d"pwnt""pwned">|c"kK""ok""OK">|d"kk""OK">|d"n00b""newbie">|f"yY""why">|d"4""for">|d"txt""text">|d"dafuq""what the f**k">|b["\\/\\/","vv","VV"]"w""W">|a"/\\""a""A">|d"d00d""dude">|c"0""o""O">|a"\\/""v""V">|c"8""b""B">|a"|_|""u""U">|a"|-|""h""H">|c"Я""r""R">|b["j00","joo"]"you""you">|d"tomoz""tomorrow">|a"|<""k""K">|b["[)","|)"]"d""D">|d"<3""love">|a"><""x""X">|c"1!""i""I">|d"10100111001""leet">|c"2""too""to">|d"ur""your">|d"UR""you're">|f"uU""you">|c"xX""ks""cks">|d"&""and">|do{c<-anyChar;return [c]};return$concat s}
main=getArgs>>=putStrLn.show.(parse g"").concat

টেস্ট

প্রোগ্রামটি নামের একটি ফাইলের সাথে সংকলিত হয়ে গেলে min-ltআপনি নিম্নলিখিত শেল স্ক্রিপ্টটি লিখতে পারেন

#!/bin/bash
./min-lt "|-|3 15 $|_|(# @ n00b"
./min-lt "\$#!+"
./min-lt "\/\/ 1 |< 1 P 3 [) 1 A"
./min-lt "H4X0R"
./min-lt "@1\/\/4Y5 p0$+ ur n3VV qu35710nz 1n teh $&80x"
./min-lt "+357 +357. 735+"

যা এটি মুদ্রণ করবে

Right "he is su(h a newbie"
Right "shit"
Right "w i k i P e d i A"
Right "HaksoR"
Right "aiwaYs post your new questionz in the sandboks"
Right "test test. Test"

দ্বারা -ks-আমি ksএকটি শব্দের মাঝখানে ছিল।

শুধু haskell-platformপ্যাকেজ ইনস্টল করুন । আপনার জন্য উদাহরণ আছে ks?
gxtaillon

<insertnamehere> rocXবাroX

আমি এটি পরীক্ষা করেছি, এটি কাজ করছে

1
স্কোর এবং শব্দের অনুবাদকে আরও ভাল পরিচালনা করার সাথে আমার উত্তর আপডেট করেছে।
gxtaillon

6

বর্ধিত ব্রেইনফাক : 0.6757

{a[-])&d}{c(-(-}{d)$t(-}:r:i:t$t,(-$i+$r+)$i($t 6+(-$i 5--)+$i 3+(--&c-(--
(3-(5-&c&c&c-&c--5-((-&d)$r.&d|"A"&a|"B"&a|"T"&a|"S"&a|"A"&a|"E"&a|"TO"&a
|"L"&a|"O"&a|"T"&a|"C"&a|"AND"&a|"S"&a|"H"&a|"I"(-))$i(-)$r(-)$t,(-$i+$r+))

সুতরাং এটি "$ (5 @ 437 + # 0821! &") এর 15 টি অনুবাদ করে, এতে কোনও বোনাস নেই এবং এতে 222 বাইট রয়েছে (আনুষঙ্গিক লাইনফিডগুলি অন্তর্ভুক্ত নেই)। 15 * 10/222 = 0.6757

ব্যবহার:

%> beef ebf.bf < leet.ebf > leet.bf
%> echo '& 31337 #4(KER$ WR0+3 83773R L!K3 +#!5 7#@N 2D@Y' | beef  leet.bf
AND ELEET HACKERS WROTE BETTER LIKE THIS THAN TODAY
%>

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

>>,[-<+<+>>]<[>++++++[-<------>]+<+++[--[-[--[--[---[-----[-[-[-[-[-[--[-[--------[[-]
>[-]<<.>]>[->++++++++[-<++++++++>]<+.[-]]<]>[->++++++++[-<++++++++>]<++.[-]]<]>[->++++
+++++[-<+++++++++>]<+++.[-]]<]>[->+++++++++[-<+++++++++>]<++.[-]]<]>[->++++++++[-<++++
++++>]<+.[-]]<]>[->++++++++[-<+++++++++>]<---.[-]]<]>[->+++++++++[-<+++++++++>]<+++.--
---.[-]]<]>[->++++++++[-<+++++++++>]<++++.[-]]<]>[->+++++++++[-<+++++++++>]<--.[-]]<]>
[->+++++++++[-<+++++++++>]<+++.[-]]<]>[->++++++++[-<++++++++>]<+++.[-]]<]>[->++++++++[
-<++++++++>]<+.+++++++++++++.----------.[-]]<]>[->+++++++++[-<+++++++++>]<++.[-]]<]>[-
>++++++++[-<+++++++++>]<.[-]]<]>[->++++++++[-<+++++++++>]<+.[-]]<[-]<[-]>>,[-<+<+>>]<]

1
সংকলিত বিএফ কোডটি দুর্দান্ত কাজ করছে বলে মনে হচ্ছে, এটি একটি বিএফ প্রোগ্রামের জন্য বেশ ছোট দেখাচ্ছে

@ প্রফেসারফিশ ব্যবহার করে ~"OTLHEAND"আমি একবারে সমস্ত অক্ষরকে 107 বাইট অবজেক্ট কোডের পরিবর্তে একবার থেকে 354 ব্যবহার করে 0 থেকে তৈরি করতে পারতাম, তবে আমার উত্তরটি ইবিএফ কোড আকারের জন্য অনুকূলিত হয়েছে :)
সিলেস্টার

2

জাভা: 1.236

import java.util.*;public class L{static H<String,String>c;static H<String,String>w;static{c=new H();c.p("1","i");c.p("!","i");c.p("$","s");c.p("5","s");c.p("@","a");c.p("4","a");c.p("3","e");c.p("7","t");c.p("+","t");c.p("#","h");c.p("'d","ed");c.p("0","o");c.p("zero","o");c.p("\\/\\/","w");c.p("/\\","a");c.p("\\/","v");c.p("|<","k");c.p("[)","d");c.p("8","b");c.p("|_|","u");c.p("|-|","h");c.p("Я","r");c.p("(","c");c.p("VV","w");c.p("&","and");c.p("2","to");w=new H();w.p("@","a");w.p("teh","the");w.p("pwnd","pwned");w.p("pwnt","pwned");w.p("k","ok");w.p("kk","ok");w.p("y","why");w.p("Y","why");w.p("4","for");w.p("txt","text");w.p("dafuq","what the f**k");w.p("d00d","dude");w.p("n00b","newbie");w.p("j00","you");w.p("joo","you");}public static void main(String[]a){System.out.println(new L().C(a));}String C(String[]o){String x=T(o);for(String d:o){if(w.containsKey(d))x=x.replace(d,w.get(d));else{String r=d;for(String y:c.keySet()){if(d.contains(y))r=r.replace(y,c.get(y));}x=x.replace(d,r);}}return x;}String T(String[]l){String s="";for(String w:l)s+=" "+w;return s;}}class H<T1,T2>extends LinkedHashMap<T1,T2>{T2 p(T1 k,T2 v){return super.put(k,v);}}

সুতরাং এটি নিম্নলিখিত রূপান্তরগুলি করে

+357 +357. 735+
test test. test
|-|3 15 $|_|(# @ n00b
he is such a newbie
$#!+
shit
\/\/ 1 |< 1 P 3 [) 1 A
w i k i P e d i A
@1\/\/4Y5 p0$+ ur n3VV qu35710nz 1n teh $&80x
aiwaYs post ur new questionz in the sandbox
& 31337 #4(KER$ WR0+3 83773R L!K3 +#!5 7#@N 2D@Y
and eieet hacKERs WRote betteR LiKe this thaN toDaY

স্কোর গণনা জটিল

  • (লিট আইটেম + বোনাস) * 10 / (কোড দৈর্ঘ্য)
  • কোডের দৈর্ঘ্য = 1165 লিট
  • লেট আইটেম = 39 (অনন্য)
  • বোনাস = 21 (কীভাবে অনুলিপি করা মোমেটামমুরি গণনা করতে হবে তা জানেন না) (দয়া করে পরামর্শ দিন)

((39 + (21 * 5)) * 10) / 1165 = 1.236

আন-গল্ফ কোড:

import java.util.*;

public class L {
    static H<String, String> c;
    static H<String, String> w;

    static {
        c = new H();
        c.p("1", "i");
        c.p("!", "i");
        c.p("$", "s");
        c.p("5", "s");
        c.p("@", "a");
        c.p("4", "a");
        c.p("3", "e");
        c.p("7", "t");
        c.p("+", "t");
        c.p("#", "h");
        c.p("'d", "ed");
        c.p("0", "o");
        c.p("zero", "o");
        c.p("\\/\\/", "w");
        c.p("/\\", "a");
        c.p("\\/", "v");
        c.p("|<", "k");
        c.p("[)", "d");
        c.p("8", "b");
        c.p("|_|", "u");
        c.p("|-|", "h");
        c.p("Я", "r");
        c.p("(", "c");
        c.p("VV", "w");
        c.p("&", "and");
        c.p("2", "to");
        w = new H();
        w.p("@", "a");
        w.p("teh", "the");
        w.p("pwnd", "pwned");
        w.p("pwnt", "pwned");
        w.p("k", "ok");
        w.p("kk", "ok");
        w.p("y", "why");
        w.p("Y", "why");
        w.p("4", "for");
        w.p("txt", "text");
        w.p("dafuq", "what the f**k");
        w.p("d00d", "dude");
        w.p("n00b", "newbie");
        w.p("j00", "you");
        w.p("joo", "you");
    }

    public static void main(String[] a) {
        System.out.println(new L().C(a));
    }

    String C(String[] o) {
        String x = T(o);
        for (String d : o) {
            if (w.containsKey(d)) x = x.replace(d, w.get(d));
            else {
                String r = d;
                for (String y : c.keySet()) {
                    if (d.contains(y)) r = r.replace(y, c.get(y));
                }
                x = x.replace(d, r);
            }
        }
        return x;
    }

    String T(String[] l) {
        String s = "";
        for (String w : l) s += " " + w;
        return s;
    }
}

class H<T1, T2> extends LinkedHashMap<T1, T2> {
    T2 p(T1 k, T2 v) {
        return super.put(k, v);
    }
}

2
তুমি কি মনে করছ এলোমেলো করে? : ডি
কেনার্ড

0

সি # স্কোর 45 * 10/2556 = 0.176

প্রোগ্রাম প্রায় সমস্ত ছোট এবং বড় হাতের অক্ষর আউটপুট করতে পারেন। যেহেতু আমি একটি ইংরেজী শব্দের তালিকা ব্যবহার করছি না তাই অভিধানে পাওয়া প্রথম কী ব্যবহৃত হয়েছে। যেমন \ / \ / ভ্যাভ হয়ে যায়। চরটি শব্দের প্রথম অক্ষর হলে ToUpper প্রয়োগ করা হয়।

using System;
using System.Collections.Generic;
class L
{
Dictionary<string, string> D;        
public L() 
{ 
D = new Dictionary<string, string>();
M();
}
public void M()
{
D.Add("$", "s,S");
D.Add("(", "c,C");
D.Add("5", "s,S");
D.Add("@", "a,A");
D.Add("4", "a,A,for");
D.Add("3", "e,E");
D.Add("7", "t,T,and,anned,ant");
D.Add("+", "t,T");
D.Add("#", "h,H");
D.Add("teh", "the");
D.Add("'d", "ed");
D.Add("pwnd", "pwned");
D.Add("pwnt", "pwned");
D.Add("k", "OK");
D.Add("K", "OK");
D.Add("kk", "OK");
D.Add("0", "o,O");
D.Add("y", "why");
D.Add("Y", "why");
D.Add("txt", "text");
D.Add("dafuq", "what the f**k");
D.Add("\\/\\/", "w,W");
D.Add("/\\", "a,A");
D.Add("^", "a,A");
D.Add("\\/", "v,V");
D.Add("d00d", "dude");
D.Add("n00b", "newbie");       
D.Add("8", "b,B,ate,8");
D.Add("|_|", "u,U");
D.Add("|-|", "h,H");
D.Add("j00", "you");
//Я      -> r,R
D.Add("joo", "you");
D.Add("vv", "w,W");
D.Add("VV", "w,W");
D.Add("tomoz", "tomorrow");
D.Add("|<", "k,K");
D.Add("[)", "d,D");
D.Add("|)", "d,D");
D.Add("<3", "love");
D.Add("><", "x,X");
D.Add("2", "to,too");
//10100111001       -> leet (binary representation of 1337)
D.Add("ur", "your,you're");
D.Add("UR", "your,you're");
D.Add("u", "you");
D.Add("U", "you");
D.Add("x", "ks,cks");
D.Add("X", "ks,cks");
D.Add("z", "s,S");
D.Add("Z", "s,S");
D.Add("1", "i,I,l,L");
D.Add("!", "i,I,!");
D.Add("c", "see,C,sea");
D.Add("C", "see,C,sea");
D.Add("b", "be,B,bee");
D.Add("B", "be,B,bee");
//[accented letter] -> [non-accented form] (score 1 per accented letter supported)
D.Add("&", "and,anned,ant");
}

int P(string K, out List<string> V)
{
V = new List<string>();
string v,comma=",";
if(D.TryGetValue(K,out v))
{
string[] vv = v.Split(comma.ToCharArray());
foreach(string s in vv)
{
V.Add(s);
}
}
return V.Count;
}

public string E(string X)
{
string e ="";
string S = " ",t,k="";
string[] W = X.Split(S.ToCharArray());
int n = 0,x=0,m=0;
List<string> V=new List<string>();
bool F = false;
foreach(string s in W)
{
n = s.Length;
F = false;
for (int i = 0; i < n; i++)
{
m = 0;
for (int j = 1; j < n - i+1; j++)
{
k = s.Substring(i, j);
x = P(k, out V);
if (x > 0)
{
t = V[0];
if (t.Length == 1 && i == 0)
t = t.ToUpper();
e += t;
m = t.Length;
F = true;
break;
}
}
if (m > 0) i += (m - 1);
}
e += S;
}
return e;
}
static void Main(string[] a)
{
string t = Console.ReadLine();
L x = new L();
t = x.E(t);
Console.WriteLine(t);
Console.ReadLine();
}
}

এখানে আমার পরীক্ষার ফলাফল:

$ -> S 
( -> C 
5 -> S 
@ -> A 
4 -> A 
3 -> E 
7 -> T 
+ -> T 
# -> H 
teh -> the 
'd -> ed 
pwnd -> pwned 
pwnt -> pwned 
k -> OK 
K -> OK 
0 -> O 
y -> why 
Y -> why 
4 -> A 
txt -> text 
dafuq -> what the f**k 
/\ -> A 
^ -> A 
\/ -> V 
d00d -> dude 
n00b -> newbie 
\/\/ -> Vav 
8 -> B 
|_| -> U 
|-| -> H 
j00 -> you 
joo -> you 
vv -> W 
VV -> W 
tomoz -> tomorrow 
|< -> K 
[) -> D 
|) -> D 
<3 -> love 
>< -> X 
2 -> to 
ur -> you 
UR -> you 
u -> you 
U -> you 
8 -> B 
x -> ks 
X -> ks 
z -> S 
Z -> S 
1 -> I 
! -> I 
c -> see 
C -> see 
b -> be 
B -> be 
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.