ক্রস-বর্ণমালা অক্ষর


17

পটভূমি

আমি এই খুব আকর্ষণীয় ভেন ডায়াগ্রামটি উইকিপিডিয়াতে দেখেছি: https://simple.wikedia.org/wiki/Alphabet#/media/File:Venn_diagram_gr_la_ru.svg

এটি রাশিয়ান, গ্রীক এবং লাতিন বর্ণমালার মধ্যে প্রচলিত বিভিন্ন বর্ণমালায় বর্ণগুলি (শারীরিক আকার) দেখায়।

চ্যালেঞ্জ

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

উদাহরণস্বরূপ, FFLURSসমস্ত ল্যাটিন-শুধুমাত্র অক্ষর, সুতরাং আউটপুট হয় FFLURS is 100% Latin, 0% Cyrillic and 0% Greek

বিপরীতে, TOX BEAM PHPসম্পূর্ণরূপে অক্ষরগুলি তৈরি হয় যা তিনটি ভাষায়ই প্রদর্শিত হয়, সুতরাং আউটপুট TOX BEAM PHP is 100% Cyrillic, 100% Greek and 100% Latin

সারণী সন্ধান করুন

ভেন চিত্রটি নীচের বর্ণগুলির উত্স:

লাতিন কেবল:

J,G,S,D,Q,U,V,W,F,L,R

লাতিন এবং সিরিলিক:

C, С

লাতিন এবং গ্রীক:

I,Ι, N,Ν, Z,Ζ

গ্রীক এবং সিরিলিক

Φ,Ф, Π,П, Γ,Г, Λ,Л

সব তিনটি:

A,B,E,O,M,K,T,X,Y,H,P (and equivalents in greek and cyrillic), (space)

বাকী ... কেবল গ্রীক বা কেবল সিরিলিক।

গুরুত্বপূর্ণ তথ্য

ইউনিকোড সংজ্ঞা দেয় (উদাহরণস্বরূপ) "কমপক্ষে" তিনটি পৃথক উপায়ে - প্রতিটি ভাষার জন্য একটি। ইনপুটটিতে (এবং # 0391, & # 0410 বা & # 0041) যে কোনওটি ব্যবহৃত হয়, প্রোগ্রামটিকে তিনটি ভাষার সাথে মিলে যাওয়া হিসাবে বোঝা উচিত। সুতরাং, A(লাতিন), Α(গ্রীক আলফা) এবং А(সিরিলিক) সবার 100% Cyrillic, 100% Greek and 100% Latinউত্তর হিসাবে দেওয়া উচিত ।

ছক পূরণ করা

কোন স্ট্রিং একচেটিয়াভাবে ধারণকারী А-Я, Α-Ω, A-Zএবং (স্থান)। এই অক্ষরগুলি স্ট্রিংয়ের মধ্যে একাধিকবার পুনরাবৃত্তি হতে পারে।

আউটপুট ফরমেট

আউটপুটটি যে কোনও বিন্যাসে হতে পারে, সরবরাহ করলে ফাংশনটি ধারাবাহিক ফলাফল দেয় produces আমি আমার উদাহরণগুলিতে প্রদর্শিত ফর্ম্যাটটিতে আউটপুট দেখতে চাই ( FFLURS is 100% Latin, 0% Cyrillic and 0% Greek), তবে চ্যালেঞ্জটি আরও কারও কাছে উন্মুক্ত করতে আমি শতকরা হার / অনুপাতের অ্যারে / স্ট্রিং গ্রহণ করতে পেরে খুশি:

[100,0,0],

100 0 0

[1.0 0.0 0.0]

যতক্ষণ না এটি সর্বদা স্পষ্ট থাকে যে কোন সংখ্যাটি কোন ভাষাটি - তাই আউটপুট সামঞ্জস্যপূর্ণ হওয়া উচিত।

আরও কিছু পরীক্ষার মামলা

CINEMATICS -> CINEMATICS is 100% Latin, 70% Greek and 60% Cyrillic

ЩJЩFЩLΞRΞVΞW -> ЩJЩFЩLΞRΞVΞW is 50% Latin, 25% Cyrillic and 25% Greek

-> is 100% Cyrillic, 100% Greek and 100% Latin

ΨΩTESTINGЯЮ -> ΨΩTESTINGЯЮ is 63.6% Greek, 63.6% Latin and 45.5% Cyrillic

বিজয়ী মানদণ্ড

সাধারণ নিয়ম এবং ব্যতিক্রম প্রযোজ্য; সংক্ষিপ্ত উত্তর (বাইট) জয়

(স্যান্ডবক্স লিঙ্ক: https://codegolf.meta.stackexchange.com/a/14984/62289 )

সন্দেহ এড়ানোর জন্য, ইনপুটটিতে বৈধ একক ইউনিকোড অক্ষর হ'ল:

  • 0020, 0041-005A (লাতিন বর্ণমালা)
  • 0020, 0391-03A9 (গ্রীক বর্ণমালা)
  • 0020, 0401, 0410-042F (সিরিলিক বর্ণমালা)

তবে অনুসন্ধান সারণীতে প্রদর্শিত হিসাবে, অক্ষরগুলি ক্রস-বর্ণমালা হতে পারে।

মন্তব্যগুলি থেকে জোনাথন অ্যালানের টেবিল যুক্ত করা:

                                                 Latin  Greek  Cyrillic
U+0020     Space                                 1      1      1
U+0041  A  Latin capital letter A                1      1      1
U+0042  B  Latin capital letter B                1      1      1
U+0043  C  Latin capital letter C                1      0      1
U+0044  D  Latin capital letter D                1      0      0
U+0045  E  Latin capital letter E                1      1      1
U+0046  F  Latin capital letter F                1      0      0
U+0047  G  Latin capital letter G                1      0      0
U+0048  H  Latin capital letter H                1      1      1
U+0049  I  Latin capital letter I                1      1      0
U+004A  J  Latin capital letter J                1      0      0
U+004B  K  Latin capital letter K                1      1      1
U+004C  L  Latin capital letter L                1      0      0
U+004D  M  Latin capital letter M                1      1      1
U+004E  N  Latin capital letter N                1      1      0
U+004F  O  Latin capital letter O                1      1      1
U+0050  P  Latin capital letter P                1      1      1
U+0051  Q  Latin capital letter Q                1      0      0
U+0052  R  Latin capital letter R                1      0      0
U+0053  S  Latin capital letter S                1      0      0
U+0054  T  Latin capital letter T                1      1      1
U+0055  U  Latin capital letter U                1      0      0
U+0056  V  Latin capital letter V                1      0      0
U+0057  W  Latin capital letter W                1      0      0
U+0058  X  Latin capital letter X                1      1      1
U+0059  Y  Latin capital letter Y                1      1      1
U+005A  Z  Latin capital letter Z                1      1      0

U+0391  Α  Greek capital letter Alpha            1      1      1
U+0392  Β  Greek capital letter Beta             1      1      1
U+0393  Γ  Greek capital letter Gamma            0      1      1
U+0394  Δ  Greek capital letter Delta            0      1      0
U+0395  Ε  Greek capital letter Epsilon          1      1      1
U+0396  Ζ  Greek capital letter Zeta             1      1      0
U+0397  Η  Greek capital letter Eta              1      1      1
U+0398  Θ  Greek capital letter Theta            0      1      0
U+0399  Ι  Greek capital letter Iota             1      1      0
U+039A  Κ  Greek capital letter Kappa            1      1      1
U+039B  Λ  Greek capital letter Lambda           0      1      1
U+039C  Μ  Greek capital letter Mu               1      1      1
U+039D  Ν  Greek capital letter Nu               1      1      0
U+039E  Ξ  Greek capital letter Xi               0      1      0
U+039F  Ο  Greek capital letter Omicron          1      1      1
U+03A0  Π  Greek capital letter Pi               0      1      1
U+03A1  Ρ  Greek capital letter Rho              1      1      1

U+03A3  Σ  Greek capital letter Sigma            0      1      0
U+03A4  Τ  Greek capital letter Tau              1      1      1
U+03A5  Υ  Greek capital letter Upsilon          1      1      1
U+03A6  Φ  Greek capital letter Phi              0      1      1
U+03A7  Χ  Greek capital letter Chi              1      1      1
U+03A8  Ψ  Greek capital letter Psi              0      1      0
U+03A9  Ω  Greek capital letter Omega            0      1      0

U+0401  Ё  Cyrillic capital letter Io            0      0      1

U+0410  А  Cyrillic capital letter A             1      1      1
U+0411  Б  Cyrillic capital letter Be            0      0      1
U+0412  В  Cyrillic capital letter Ve            1      1      1
U+0413  Г  Cyrillic capital letter Ghe           0      1      1
U+0414  Д  Cyrillic capital letter De            0      0      1
U+0415  Е  Cyrillic capital letter Ie            1      1      1
U+0416  Ж  Cyrillic capital letter Zhe           0      0      1
U+0417  З  Cyrillic capital letter Ze            0      0      1
U+0418  И  Cyrillic capital letter I             0      0      1
U+0419  Й  Cyrillic capital letter Short I       0      0      1
U+041A  К  Cyrillic capital letter Ka            1      1      1
U+041B  Л  Cyrillic capital letter El            0      1      1
U+041C  М  Cyrillic capital letter Em            1      1      1
U+041D  Н  Cyrillic capital letter En            1      1      1
U+041E  О  Cyrillic capital letter O             1      1      1
U+041F  П  Cyrillic capital letter Pe            0      1      1
U+0420  Р  Cyrillic capital letter Er            1      1      1
U+0421  С  Cyrillic capital letter Es            1      0      1
U+0422  Т  Cyrillic capital letter Te            1      1      1
U+0423  У  Cyrillic capital letter U             1      1      1
U+0424  Ф  Cyrillic capital letter Ef            0      1      1
U+0425  Х  Cyrillic capital letter Ha            1      1      1
U+0426  Ц  Cyrillic capital letter Tse           0      0      1
U+0427  Ч  Cyrillic capital letter Che           0      0      1
U+0428  Ш  Cyrillic capital letter Sha           0      0      1
U+0429  Щ  Cyrillic capital letter Shcha         0      0      1
U+042A  Ъ  Cyrillic capital letter hard sign     0      0      1
U+042B  Ы  Cyrillic capital letter Yeru          0      0      1
U+042C  Ь  Cyrillic capital letter soft sign     0      0      1
U+042D  Э  Cyrillic capital letter E             0      0      1
U+042E  Ю  Cyrillic capital letter Yu            0      0      1
U+042F  Я  Cyrillic capital letter Ya            0      0      1

1
পিপিসিজিতে আপনাকে স্বাগতম! এটি একটি দুর্দান্ত প্রথম চ্যালেঞ্জ। :) আপনার ইউটিএফ -8 নোটের একটি নোট: এটি ইউটিএফ -8 নয় যা এই অক্ষরগুলির একাধিক সংস্করণ সংজ্ঞায়িত করে তবে ইউনিকোড (এবং ইউটিএফ -8 ইউনিকোড কোড পয়েন্টগুলি এনকোড করার জন্য একটি নির্দিষ্ট উপায়)। এছাড়াও, উত্তরটি সঠিকভাবে পাওয়ার জন্য এই অংশটি গুরুত্বপূর্ণ, তাই আপনি ইউনিকোডের সমস্ত অক্ষরের সুস্পষ্ট তালিকা অন্তর্ভুক্ত করতে পারেন যা সঠিকভাবে পরিচালনা করা দরকার need
মার্টিন ইন্ডার

@ জিএন হ্যাঁ, ধন্যবাদ
সিমোনালেক্সান্ডার 20055

@ জোনাথান অ্যালান, এনএনজি: আমি একমত, আমি ভেন ডায়াগ্রামে থাকা কেবলমাত্র চিঠিগুলিই চেয়েছিলাম - তবে এই বর্ণগুলির সমস্ত উপস্থাপনা বৈধ - যেমন আমি প্রশ্নে বলার চেষ্টা করি, উদাহরণস্বরূপ, "এ" এর একাধিক ইউনিকোড উপস্থাপনা রয়েছে
সিমোনালেক্সান্ডার 20055

সিরিলিক "এল" আসলে গ্রীক "লাম্বদা"। সিরিলিক "পে" হ'ল গ্রীক "পাই"।
সিমোনালেক্সান্ডার 20055

@ জোনাথান অ্যালান ফন্টের উপর নির্ভর করে সিরিলিক r গ্রিকের মতো দেখতে পাবেন Λ Π -র মতো আকৃতি একই বর্ণের অন্য একটি স্টাইলিস্টিক প্রকরণ।
ngn

উত্তর:


4

জেলি , 56 বাইট

একটি হ্যাশ ভাল সংক্ষিপ্ত হতে পারে।

O:⁹:2;ON©œị“ŒḂI4ƥƒⱮıtɱN¦“¤COṙṚ¹`“ÑṂḄẈɼ]ġÐ’b4¤+4Bṙ®Ḣµ€S÷L

ইংরেজি, গ্রীক, রাশিয়ান ক্রম অনুসারে অনুপাতের পরিমাণের একটি তালিকা প্রত্যাবর্তনকারী একটি মোনাডিক লিঙ্ক।

এটি অনলাইন চেষ্টা করুন!
... বা সম্পূর্ণরূপে ফর্ম্যাট করা আউটপুট (এক দশমিক স্থানে আবদ্ধ গোলাকার সহ) দেখুন

কিভাবে?

আমরা কোড কোনটি এবং প্রতিনিধিত্বমূলক কিনা তারা বর্ণমালার (প্রশ্ন যেখানে টেবিল মতো প্রতিটি অন্তর্গত zeros একটি ট্রিপল প্রতিটি সম্ভাব্য চরিত্র অনুবাদ পরিবর্তন করতে ইচ্ছা Cহয় 1 0 1)। এটি সম্পন্ন হয়ে গেলে আমরা এগুলি জুড়ে এবং অনুপাতটি নির্ধারণের জন্য দৈর্ঘ্য দ্বারা বিভক্ত করতে পারি (শূন্য এবং এক অন্তর্ভুক্ত) - এটি ঠিক S÷L(কোডের ডানদিকে দেখা যায় ) is

প্রদত্ত যে কোনও চরিত্রের জন্য আমরা জানি যে অরডিনালটি যদি 256 এর চেয়ে কম হয় তবে এটি ইংরেজি হিসাবে গণনা করা হয়, যদি এটি 1024 এর চেয়ে বেশি হয় তবে এটি রাশিয়ান হিসাবে গণনা করা হয়, এবং এটি যদি 256 এবং 1024-এর মধ্যে থাকে তবে এটি গ্রীক হিসাবে গণ্য হয়। যেমন 256 দ্বারা বিভাজক অর্ডিনাল এবং পূর্ণসংখ্যা এবং তারপরে ফলাফলটি দুটি ফলন 0এবং ল্যাটিন অক্ষরের (ইংরেজি হিসাবে গণনা), 1হেলেনিক (গ্রীক হিসাবে গণনা) এবং 2সিরিলিক (রাশিয়ান হিসাবে গণনা ) এর জন্য দুটি ফলকে ভাগ করে । এটি ঠিক O:⁹:2জেলিতে রয়েছে (কোডের বাম দিকে দেখানো হয়েছে)।

যদি আমরা বিটের ট্রিপলগুলি এমনভাবে ঘোরান যে প্রাকৃতিক বর্ণমালা বিট * সবচেয়ে তাত্পর্যপূর্ণ হয় তবে আমরা নীচের দুটি বিটগুলি (শূন্য এবং তিনটি সমেতের মধ্যে মানের হিসাবে) তিনটি সারি সহ একটি বর্ণন সারণিতে এনকোড করতে পারি এবং তারপরে ডানদিকে ঘোরান উপরে নম্বর পাওয়া যায়।

যখন আমরা এটি করি তখন দুটি জিনিস নোটযোগ্য - - জেলিটির একটি ঘূর্ণিত-বাম-পরমাণু রয়েছে একটি ঘোরানো-ডান-বাই এক নয়; ২. চেহারা আপ টেবিলের হেলেনিক সারিটি শূন্যের সাথে শুরু হবে (যেহেতু Ξএটি কেবল গ্রীক), একটি সাধারণ বেস -4 এনকোডিংটি ব্যর্থ করে (যেহেতু শীর্ষস্থানীয় শূন্যগুলি এনকোডেবল নয়)। (1) হ্রাস করতে আমরা অবহেলিত মান দ্বারা বাম দিকে ঘুরতে পারি এবং উপশম করতে (2) আমরা আমাদের সারিগুলিকে বিপরীতভাবে এবং সূচীতে এনকোড করতে পারি নেতিবাচক পরিমাণের সাথে। এইভাবে আমরা একক বাইট ( N) দিয়ে সারি এবং কলাম সূচক উভয়কেই উপেক্ষা করতে পারি যেমন আমাদের সারি এবং কলাম সূচকগুলি গণনা করা যেতে পারে O:⁹:2;ON

নোট করুন যে জেলি এখন একটি বহুমাত্রিক সূচক পরমাণু œị,।

টেবিলটি তিনটি বৃহত সংখ্যা থেকে গঠিত যা একবার বেস চারে রূপান্তরিত হয়ে সিরিলিক, গ্রীক এবং লাতিন (+ স্পেস) এর জন্য যথাক্রমে নিম্ন বিট দেয় its এগুলি ন্যূনতম দৈর্ঘ্যের যেমন অবহেলিত অর্ডিনাল মানগুলির দ্বারা মডুলার ইনডেক্সিং সম্ভব - যথাক্রমে 47, 25 এবং 30 ( .গুলি অব্যবহৃত সূচীতে রয়েছে):

1: 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 1 3 3 2 3 1 3 3 3 1 3 0 0 0 0 3 0 1 3 0 3 0 0 0 0 0 0
   . . . . . . . . . Я Ю Э Ь Ы Ъ Щ Ш Ч Ц Х Ф У Т С Р П О Н М Л К Й И З Ж Е Д Г В Б А Ё . . . . .

2: 3 2 3 1 0 3 1 3 0 2 3 3 0 0 3 2 3 3 0 0 3 2 3 0 1
   Μ Λ Κ Ι Θ Η Ζ Ε Δ Γ Β Α Ω Ψ Χ Φ Υ Τ Σ . Ρ Π Ο Ξ Ν

3: 3 3 0 0 0 3 0 0 0 3 3 2 3 0 3 0 2 3 0 0 3 0 1 3 3 0 0 3 0 2
   Y X W V U T S R Q P O N M L K J I H G F E D C B A . .   . Z

উদাহরণ হিসাবে ইউনিকোড পয়েন্ট U + 03A6 এ অক্ষরটি বিবেচনা করুন (যা উত্পন্ন করা উচিত [0,1,1]) এর একটি মূল মূল্য রয়েছে (3 × 16² + 10 × 16 + 6 =) 934. ( O:⁹:2যার অর্থ 934 // 256 // 2 =) 1 এটি হেলেনিক ব্লকের অংশ হিসাবে চিহ্নিত করা। ;Oপূরণবাচক আমাদের দান concatenates [1,934]এবং Nতারপর আমাদের দান যদি দুটি মানই negates [-1,-934]। যেহেতু জেলি ইনডেক্সিং উভয়ই 1 ভিত্তিক এবং মডিউলার এবং সেখানে তিনটি সারি -1রেফারেন্সগুলি তিনটি সারিগুলির দ্বিতীয় (উপরের কোড-ব্লকের সারি 2) এর মধ্যে রয়েছে, যেহেতু মাঝের সারিটির -934রেফারেন্সের 25 দৈর্ঘ্য রয়েছে (-934% 25 =) row সারিটিতে 16 তম প্রবেশ, যা 2। কোডটি তখন আমাদের প্রদত্ত চারটি (সবচেয়ে গুরুত্বপূর্ণ বিট) যুক্ত করে6 যা বাইনারিতে রূপান্তরিত হয়[1,1,0]। কোডটি তখন প্রতিটি দ্বারা এই বাম দিকে ঘোরান[-1,-934]এবং মাথাটি নেয় (যেমন -১ দ্বারা বামে ঘূর্ণন, 1 দ্বারা একটি রোটেশন ডান) [0,1,1]প্রয়োজন অনুসারে ফলন দেয় ।

* স্পেসের জন্য ইংরেজি যেহেতু এটি লাতিন অক্ষরের সাথে গোষ্ঠীভূত


মন্তব্য করা কোড

O:⁹:2;ON©œị“...“...“...’b4¤+4Bṙ®Ḣµ€S÷L - Link: list of characters        e.g.: "СЯ"
                                 µ€    - for €ach character:                С       Я
O                                      -   cast to ordinal               1057    1071
  ⁹                                    -   literal 256
 :                                     -   integer division                 4       4
   :2                                  -   integer divide by 2              2       2
      O                                -   cast to ordinal               1057    1071
     ;                                 -   concatenate                  [2,1057] [2,1071]
       N                               -   negate                     [-2,-1057] [-2,-1071]
        ©                              -   copy to register for later
                          ¤            -   nilad followed by link(s) as a nilad:
           “...“...“...’               -     list of integers encoded in base 250 = [4951760157204492290900832256, 1043285073970097, 1081712651052809266]
                        b4             -     convert to base 4                    = [[1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,1,3,3,2,3,1,3,3,3,1,3,0,0,0,0,3,0,1,3,0,3,0,0,0,0,0,0],[3,2,3,1,0,3,1,3,0,2,3,3,0,0,3,2,3,3,0,0,3,2,3,0,1],[3,3,0,0,0,3,0,0,0,3,3,2,3,0,3,0,2,3,0,0,3,0,1,3,3,0,0,3,0,2]]
         œị                            -   index into                       2       0                   ^--[-2,-1071]   [-2,-1057]--^
                           +4          -   add four                         6       4
                             B         -   convert to binary             [1,1,0] [1,0,0]
                               ®       -   recall from register       [-2,-1057] [-2,-1071]
                              ṙ        -   rotate left         [[1,0,1],[0,1,1]] [[0,0,1],[1,0,0]]
                                Ḣ      -   head                          [1,0,1] [0,0,1]
                                   S   - sum                                 [1,0,2]
                                     L - length                                 2
                                    ÷  - divide                            [0.5,0,1]
                                       -   i.e.: 50.0% Latin, 0% Greek, 100% Russian

দেখে মনে হচ্ছে আপনার এখানে কিছু পরিভাষা আছে ... "হ্যাশ" এর অর্থ কি কোনও নির্মাণের মতো (keys)iị(values)Ʋ?
এরিক আউটগল্ফার 21 '20

আমি বোঝাতে চাইছি কিছু গাণিতিক ম্যানিপুলেশন থেকে কীগুলির একটি পৃথক সেট তৈরি করা যাতে কোনও মানগুলির তালিকায় সূচক করতে পারে, হ্যাঁ। সুতরাং পছন্দ করুন ...ị“...বা সম্ভবত ...ṃ“...(কঠোরভাবে আমি যে মোনাডিক চেইন গঠন করেছি তা হ্যাশ ফাংশন )
জোনাথন অ্যালান

@ জিএন এম কেবার্ড অ্যানিং হচ্ছে
জোনাথন অ্যালান

ওহ, আমি কীভাবে এটি ঠিক করতে জানি! আপনার কীবোর্ডটি পুনরায় কনফিগার করুন এবং "y" এবং "ও" এর পরিবর্তে সিরিলিক "у" এবং "о" টাইপ করুন: ডি
এনজিএন

এত লম্বা জেলি উত্তর আমি কখনও দেখিনি ... দুর্দান্ত কাজ!
সিমোনালেক্সান্ডার 20055

5

জাভাস্ক্রিপ্ট (ES6), 197 17 বাইট

[০.১.১] এ 3 অনুপাতের একটি অ্যারে ফেরত দেয়।

s=>[...s].map(_=>(x='b;C6cC6%c>b^[<$]_3--_c_acC-----$+aKHbKK[`H`H]'[(p=s[a='charCodeAt'](l++)%202%116%89)>>1][a]()-36,x/=p&1||8,L+=x/4&1,G+=x/2&1,C+=x&1),l=L=G=C=0)&&[L/l,G/l,C/l]

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

কিভাবে?

আমরা % 202 % 116 % 89প্রতিটি অক্ষর কোডকে [0..88] এর সূচকে রূপান্তর করতে (বরং অদক্ষ) হ্যাশ ফাংশনটি ব্যবহার করি । সম্পর্কিত অনুসন্ধান সারণীতে 3-বিট এন্ট্রি রয়েছে যেখানে বিট # 2 = ল্যাটিন, বিট # 1 = গ্রীক এবং বিট # 0 = সিরিলিক। দশমিক সংখ্যা ব্যবহার করে, এটি দেয়:

76273722773722017732767267300071731711117377737577371111111111000775474476474767744474447

আমরা 1এমনকি আরও বেশি এনট্রি পাওয়ার জন্য অতিরিক্ত সংযোজন করি এবং এই বিট স্ট্রিমটি প্রিন্টযোগ্য এএসসিআইআই অক্ষর [37..99] ( %থেকে c) সীমা অনুসারে , প্রতিটি চরিত্রের জন্য 6 বিট পেওলড ডেটা সহ এনকোড করি ।

এটি নিম্নলিখিত স্ট্রিং বাড়ে:

b;C6cC6%c>b^[<$]_3--_c_acC-----$+aKHbKK[`H`H]

অফসেটটি এমন চরিত্রগুলি এড়ানোর জন্য বেছে নেওয়া হয়েছে যাতে এর \জন্য পালানোর দরকার পড়ে।


3

রুবি , 165 বাইট

->s{(0..2).map{|x|s.chars.map{|c|o=c.ord;(o<33?7:"ĝ]ē¯]÷W59WUė½ñĝĕ×ßoĝėÏė55#{?!*15}"[o-[913,1040,65][y=o>>7<=>7]].ord+226>>3*-~y)[x]*1.0}.sum/s.size}}

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

সম্পাদনা: উল্লেখযোগ্যভাবে কোডটি গল্ফ করেছে এবং সর্বাধিক গুরুত্বপূর্ণভাবে 3 টি অনুবাদ অনুক্রমকে একটি ইউটিএফ -8 স্ট্রিংয়ে চেপে গেছে। যুক্তিটির আরও ভাল পাঠযোগ্যতা এবং ব্যাখ্যার জন্য মূল লম্বা কোডটি নীচে রাখা হয়েছে।

রুবি, 211 বাইট

->s{(0..2).map{|x|s.chars.map{|x|o=x.ord;o<33?7:o<91?"77517117317173771117111773"[o-65]:o<938?"7762737237673276702776722"[o-913]:"74764744444767776757767#{?4*15}"[o-1040]}.inject(0.0){|y,z|y+=z.to_i[x]}/s.size}}

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

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

আউটলারের কেসটি ঠিক করতে Ёআমি বর্ণমালার শেষে 10 পজিশন থেকে রাশিয়ান একমাত্র ব্লকটি 15 টি থেকে প্রসারিত করেছি। এইভাবে, Ёনেতিবাচক সূচকের সাথে সঠিকভাবে বাছাই করা হয়েছে (এবং আমাদের সাথে তুলনামূলকভাবে ছোট হাতের অক্ষরগুলি হ্যান্ডেল করার প্রয়োজন নেই) এই অতিরিক্ত সূচকগুলি)।


1

রেটিনা 0.8.2 , 230 বাইট

.+
$&¶$&¶$&¶$&
T`ΓΔΘΛΞΠΣΦΨΩЁБГДЖ-ЙЛПФЦ-Я`_`.+(?=¶.+¶.+$)
T`CDFGJ\LQRSUVWЁБДЖ-ЙС-Я`_`.+(?=¶.+$)
T`DFGIJ\LNQRSUVWZΔΖΘΙΝΞΣΨΩ`_`.+$
¶(.*)
¶$.1$*
1
100$*
.
1
(1+)¶(\1)*1*¶(\1)*1*¶(\1)*1*
$#2 $#3 $#4

এটি অনলাইন চেষ্টা করুন! লিঙ্কে পরীক্ষার কেস অন্তর্ভুক্ত রয়েছে। দ্রষ্টব্য: আউটপুটটি একটি পূর্ণসংখ্যার সাথে% কেটে যায়, কারণ যথার্থতা বৃদ্ধি করা স্ক্রিপ্টটিকে খুব ধীর করে তোলে এবং এটি টিআইও-তে সময়সীমা শেষ হয়েছিল।

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