প্রতিটি বর্ণ ধারণ করে প্রথম সংখ্যা


41

ইনপুট হিসাবে A থেকে Z (জে এবং কে ব্যতীত) একটি একক চিঠি দেওয়া হয়েছে, তার লিখিত আকারে সেই চিঠিটি থাকা ক্ষুদ্রতম অ-নেতিবাচক পূর্ণসংখ্যার আউটপুট দিন। ধরুন সংখ্যায় কখনই "এবং" শব্দটি থাকে না, সুতরাং 101"একশত এক", "একশত এক" নয়। আমেরিকান (স্বল্প-স্কেল) গণনা ধরে নেওয়া, সুতরাং এক মিলিয়ন 10^6এবং এক বিলিয়ন 10^9

a 1000                           one thousand
b 1000000000                     one billion
c 1000000000000000000000000000   one octillion
d 100                            one hundred
e 0                              zero
f 4                              four
g 8                              eight
h 3                              three
i 5                              five
j 
k
l 11                             eleven
m 1000000                        one million
n 1                              one
o 0                              zero
p 1000000000000000000000000      one septillion
q 1000000000000000               one quadrillion
r 0                              zero
s 6                              six
t 2                              two
u 4                              four
v 5                              five
w 2                              two
x 6                              six
y 20                             twenty
z 0                              zero

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

এটি , তাই বাইটের মধ্যে সংক্ষিপ্ত উত্তর ins


11
আমি নিশ্চিত নই কেন এই চ্যালেঞ্জটি এতটা হ্রাস পেয়েছে? আমি যতদূর দেখতে পাচ্ছি, এটি পরিষ্কার এবং অনন্য বিষয়। নিশ্চিত যে এটি সম্ভবত প্রতিটি চিঠিটি তার সংশ্লিষ্ট সংখ্যায় এনকোডিং করবে, তবে আমি মনে করি না যে 3 টি ডাউনভোটকে ন্যায্যতা দেয়?
কেয়ারড কোইনারিংহিংহিং

2
@ জোনাহ যোগ করেছেন, প্রতিক্রিয়ার জন্য ধন্যবাদ
স্টিফেন

10
আপনি বলছেন "এক বাজিলিয়ন" কি আসল সংখ্যা নয়?
জো কিং

2
@ জোকিং এটি দশমিক প্রতিনিধিত্ব কি? :)
স্টিফেন

8
আমি বিবেচনা করি যে স্ট্যাক এক্সচেঞ্জের ব্যবহারকারী মনে করেন যে কোনও সংখ্যার নামে কে উপস্থিত হতে পারে না তা কল্পনাশক্তির চেয়ে লক্ষ লক্ষ is
অ্যান্ড্রু গ্রিম

উত্তর:


16

জাভাস্ক্রিপ্ট (নোড.জেএস) ,  78 75 74  73 বাইট

c=>(n=([x]=Buffer(c+'8>P7 $(#%  +;! MD &"$%"&4 '))[x-96]-53)<0?n+21:10**n

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

কিভাবে?

[32..52]n32[53..80]10n53

মন্তব্য

c =>                                   // c = input character
  ( n =                                //
    ( [x] =                            // let x be the 1st byte of the
        Buffer(                        // buffer made of:
          c +                          //   c followed by
          '8>P7 $(#%  +;! MD &"$%"&4 ' //   the encoded values
        )                              //
    )[x - 96]                          // let n be the encoded value corresponding to c
    - 53                               // minus 53
  ) < 0 ?                              // if n is negative:
    n + 21                             //   return n + 21
  :                                    // else:
    10 ** n                            //   return 10 ** n

7

রুবি , 65 বাইট

->n{i="CI[B?;7<:??4F>?XO?9=;:=9+?"[n.ord-65].ord-64;i>0?10**i:~i}

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

উন্নতি জিবি এর মন্তব্য দ্বারা অনুপ্রাণিত।

রুবি , 70 বাইট

->n{i="ci}b@DHCE@@KfA@xo@FBDEBFT@"[n.ord-65].ord;i>96?10**(i-96):i-64}

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



@ জিবি ধন্যবাদ, এর জন্য নেতিবাচক মান থাকার ধারণাটি কার্যকর iছিল। এখন নিচে 65
স্তরের নদী

6

/// , 125 বাইট

/:/\/\///T/000:d/100:a/d0:m/aT:b/aTT:q/bTT:p/qTTT:c/pT:e/0:f/4:g/8:h/3:i/5:l/11:n/1:o/0:r/0:s/6:t/2:u/4:v/5:w/2:x/6:y/20:z/0/

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

আই / ও মেটা অনুযায়ী ইনপুট কোডের শেষে যুক্ত হয় । উপরের টিআইও লিঙ্কের পাদলেখগুলি একক নিউলাইন-বিস্মৃত স্ট্রিং হিসাবে একই সাথে সমস্ত অক্ষর পরীক্ষা করে, তবে একটি অক্ষরকে ইনপুট দেওয়ার সময় কোডটিও ঠিক কাজ করে ।



6

স্ট্যাক্স , 33 বাইট

º░¡µ?Äz*B╥╪╩ΓoΣ4ù↓|♂5%⌡ÿΩ²┼h{☻4O└

এটি চালান এবং এটি ডিবাগ করুন

পদ্ধতি:

  1. ইনপুট থেকে কোডপয়েন্ট নিন।
  2. [3, 5, 7, 9, 11, -6, 1, 0, -24, -15, 0, 6, 2, 4, 5, 2, 6, 20, 0, -3, -9, -27, -2, 0, 4, 8]কোডপয়েন্ট ব্যবহার করে ধ্রুবক অ্যারেতে সূচক । (চারপাশে মোড়ানো)
  3. ফলাফলটি যদি নেতিবাচক হয় তবে 10তা উপেক্ষা করুন এবং সেই শক্তিতে উত্থাপন করুন , অন্যথায় যেমন রয়েছে তেমন ছেড়ে দিন।

6

এক্সেল, 85 বাইট

=CHOOSE(CODE(A1)-96,1E3,1E9,1E27,100,,4,8,3,5,,,11,1E6,1,,1E24,1E15,,6,2,4,5,2,6,20,)

2 গোলফি বিট:

  • উদ্দীপক ব্যবহার (যেমন 1E15) সংরক্ষণ করে 26 bytes
  • CHOOSEযখন কিছুই সরবরাহ করা হয় না তখন তার ডিফল্ট 0সংরক্ষণ হয়4 bytes

4

05 এ বি 1 ই , 36 বাইট

•—ßusδtθ}™-5„©‘öæH•57в₆-sÇ`èD0‹iÄ°

@ রিসার্সিভের স্ট্যাক্স উত্তরটির পোর্ট ।
ছোট হাতের ইনপুট।

এটি অনলাইনে চেষ্টা করুন বা সমস্ত পরীক্ষার কেস যাচাই করুন

ব্যাখ্যা:

•—ßusδtθ}™-5„©‘öæH # Push compressed integer 3133432551338094772548436198140408157771728287
 57в                  # Converted to base-57 as list: [39,41,43,45,47,30,37,36,12,21,36,42,38,40,41,38,42,56,36,33,27,9,34,36,40,44]
    ₆-                # Subtract 36 from each: [3,5,7,9,11,-6,1,0,-24,-15,0,6,2,4,5,2,6,20,0,-3,-9,-27,-2,0,4,8]
      sÇ`             # Swap to take the input, and convert it to its unicode value
         è            # Index it into the list (with automatic wraparound)
          D0i        # Create a copy, and if this is negative:
              Ä       #  Take the absolute value
               °      #  And then take 10 the power this value
                      # (implicitly output the top of the stack as result)

আমার এই 05AB1E ডগা দেখুন (অধ্যায় ইপিএসে দক্ষিন কোরিয়ায় কিভাবে পূর্ণসংখ্যার কম্প্রেস কিভাবে? এবং কম্প্রেস পূর্ণসংখ্যা তালিকাতে কীভাবে? ) কেন বুঝতে •—ßusδtθ}™-5„©‘öæH•হয় 3133432551338094772548436198140408157771728287এবং •—ßusδtθ}™-5„©‘öæH•57вহয় [39,41,43,45,47,30,37,36,12,21,36,42,38,40,41,38,42,56,36,33,27,9,34,36,40,44]


2
32 । 05AB1E স্ট্যাক্সের কাছে হারা উচিত নয়!
গ্রিমি



3

সি # (ভিজ্যুয়াল সি # ইন্টারেক্টিভ সংকলক) , 77 74 68 বাইট

x=>((x="1‘Ʊ!  aƁñ"[x-65])&15)*Math.Pow(10,x>>4)

a×10bab

মন্তব্য

x=>                                                 //Lambda taking in a char
  (x=                                         )     //Re-assign x to
     "1‘Ʊ!   aƁñ"[x-65]      //The character's value at index x-65
 (                                             &15) //Bitwise AND by 15                                
  * Math.Pow(10,x>>4)                               // Multiplied by 10**(floor(x/16))

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



2

05 এ বি 1 ই , 32 বাইট

•н“вüQ;æ¡ζæÀÛß%aÜ×₃t•56вsCè2‰`i°

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

•н“вüQ;æ¡ζæÀÛß%aÜ×₃t•56в  # compressed list:
# [31, 0, 12, 4, 8, 10, 4, 12, 40, 0, 7, 19, 55, 5, 0, 8, 16, 6, 10, 1, 1, 22, 13, 2, 0, 49]

s                         # swap so the input is at the top
 C                        # parse input as "binary" (a -> 36, b -> 37, ...)
  è                       # index (wraps around)
   2‰                     # divmod 2: [n / 2, n % 2]
     `                    # dump both on the stack
      i                   # if the modulo is 1:
       °                  #  10 ** the quotient
                          # implicit output

আমি এখনও এই 'binary'বিল্টিন পাই না , হাহা। এক্সডি তবে আমার ধারণা এটি কখনও কখনও এটির মতো কার্যকর হতে পারে। ;)
কেভিন ক্রুইজসেন

2

বাশ , 129 100 বাইট

A=xDVw04835zzbA10SJ0624526k0
c=$[64#${A:$[64#$1-10]:1}]
[ $c -gt 30 ]&&printf 1%0$[c-30].0f||echo $c

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

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

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

A=xDVw04835zzbA10SJ0624526k0

$ এ: বেস 64 এনকোডেড "এ" - "জেড": 100 এর কম সংখ্যক সরাসরি সংরক্ষণ করা হয়। বড় সংখ্যা 30 + শূন্যের সংখ্যা হিসাবে এনকোড করা হয়েছে। (উদা: 1,000 = 33, 100 = 32, ইত্যাদি)

c=$[64#${A:$[64#$1-10]:1}]

আর্গুমেন্ট $ 1 এ নির্দিষ্ট অবস্থানে। A থেকে একটি চিঠি বের করুন ('বেস' এর অফসেটের জন্য অ্যাকাউন্টে বেস 64 ডিকোড করা হয়েছে, -10)। বেস 64 সেই অক্ষরটি ডিকোড করে এবং সিটিতে সঞ্চয় করে।

[ $c -gt 30 ]&&printf 1%0$[c-30].0f||echo $c

যদি $ সি 30 এর চেয়ে বেশি হয়, "1" প্যাড করে $ c-30 জিরো দিয়ে মুদ্রণ করুন। অন্যথায়, মুদ্রণ $ সি।


2

স্লেজহ্যামার , 17 বাইট

প্রযুক্তিগতভাবে, এটি 133 বিট দীর্ঘ, তবে সংক্ষেপক হিসাবে দাবি করে যে এটি সত্যই এই 16.625 বাইট তৈরি করে না।

⣜⢍⢞⢹⡱⡋⣽⡱⡆⢺⢦⡽⡐⡌⢗⠈⣵

এটি সম্ভবত ডিকোড হয়

x1 = Input[]; x2 = 0; While[StringFreeQ[IntegerName[x2], x1], x2++]; Print[x2]

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


1

জেলি , 36 বাইট

Oị“[@ịẆþĊ`o&÷ḲḞṘḂỊP¥t’b48¤_⁹⁵*ɗ¹>?20

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

একটি মোনাডিক লিঙ্কটি একটি ছোট মামলার চিঠিটিকে তার যুক্তি হিসাবে গ্রহণ করে এবং পূর্ণসংখ্যা ফেরত দেয়। এবং 0জন্য ফিরে ।jk

ব্যাখ্যা

O                       | Convert to code point
 ị          ¤           | Index into following as a nilad (wraps around):
  “[...t’               | - Integer 5370441668223940717846370165240010583188867 (stored base 250)
         b48            | - Convert to base 48
                 ɗ >?20 | If >20, following as a dyad using 20 as right argument:
             _⁹         | - Subtract right argument (20)
               ⁵*       | - 10 to the power of this
                  ¹     | Else: leave unchanged (identity function)

1

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

^
$'
T`l`111104835__111011062452620`^.
T`abcm\pq`139285
\d$
$*0$&$*0$&$*0
d
00
T`\lyl`10_

এটি অনলাইন চেষ্টা করুন! লিঙ্কে পরীক্ষার কেস অন্তর্ভুক্ত রয়েছে। ব্যাখ্যা:

^
$'

ইনপুট সদৃশ।

T`l`111104835__111011062452620`^.

প্রাসঙ্গিক ফলাফলের প্রথম কপিটি (প্রথম) অঙ্কে পরিবর্তন করুন।

T`abcm\pq`139285

যদি সংখ্যাটিতে 3 টি পিছনের শূন্যের একাধিক থাকে তবে এখনই এটি একাধিক করুন।

\d$
$*0$&$*0$&$*0

এবং প্রকৃতপক্ষে এটিকে পিছনের জিরো সম্পর্কিত সংখ্যায় রূপান্তর করুন। (দ্রষ্টব্য যে এটি *3*0রেটিনা ১ এ সরল করবে )

d
00

ঠিক কর d

T`\lyl`10_

স্থির করুন lএবং yঅবশিষ্ট যে কোনও অক্ষর মুছে ফেলুন।


1

পিএইচপি , 104 বাইট

<?=A<($a='^FX]0483500GC10UL0624526P0'[ord($argn)-97])?20==($b=ord($a)%30)||11==$b?$b:str_pad(1,$b,0):$a;

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

আমার কাছে একটি স্ট্রিং রয়েছে ^FX]0483500GC10UL0624526P0যা "এ" থেকে "জেড" থেকে প্রতিটি ইনপুট চিঠির জন্য একটি অক্ষর ধারণ করে। আমি ইনপুট উপর ভিত্তি করে এই অক্ষর নিষ্কাশন এবং এটি সঞ্চয় $a। চরিত্রটি যদি কোনও অঙ্ক না হয় তবে এর ASCII কোড মোড 30 টি সংরক্ষণ করা হবে$b

যদি $a কোনও অঙ্ক হয়, একই অঙ্কটি মুদ্রিত হয়, এটি 0 ও 9 এর মধ্যে আউটপুট প্রয়োজন এমন কোনও ইনপুট (যেমন "ই", "চ", ইত্যাদি) এর জন্য ব্যবহৃত হয়।

অন্যথায় যদি $b 20 বা 11 হয়, একই সংখ্যাটি মুদ্রিত হয়, এটি "l" এবং "y" এর জন্য ব্যবহৃত হয়।

অন্যথায়, $b"0" এর সাথে প্যাডযুক্ত অঙ্ক "1" মুদ্রিত হয়। উদাহরণস্বরূপ "এ" এর ইনপুট দেওয়ার জন্য, চরিত্রটি "^" যা একটি এএসসিআইআই কোড রয়েছে 94. 94 % 30 = 4এবং "1" প্যাডে 4 এ "0" এস হবে "1000"।

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