দক্ষ গণনা


35

যখন আমি ছোট ছিলাম, এবং আমার জীবন সাশ্রয়ে ডলারের বিলগুলি গণনা করতে চেয়েছিলাম, আমি উচ্চস্বরে গণনা করব:

এক দুই তিন চার পাঁচ ছয় সাত আট নয় দশ;
এগারো, বারো, তের, চৌদ্দ, পনের, ষোল, সতের, আঠারো, উনিশ, বিশ;
একুশ, বাইশ, তেইশ, চব্বিশ, পঁচিশ ...

অবশেষে আমি এই বহু-অক্ষরের প্রতিটি সংখ্যা উচ্চারণ করে ক্লান্ত হয়ে পড়েছিলাম। গাণিতিক মনোভাবের কারণে, আমি গণনার আরও কার্যকর পদ্ধতি তৈরি করেছি:

এক দুই তিন চার পাঁচ ছয় সাত আট নয় দশ;
এক, দুই, তিন, চার, পাঁচ, ছয়, সাত, আট, নয়, বিশ;
এক, দুই, তিন, চার, পাঁচ, ছয়, সাত, আট, নয়, ত্রিশ ...

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

চ্যালেঞ্জ

একটি প্রোগ্রাম / ফাংশন লিখুন যা একটি ধনাত্মক পূর্ণসংখ্যার ক্ষেত্রে নেয় এবং ফলাফলগুলি কীভাবে আমি এটি গণনা করব তা প্রদান করে: এটি হ'ল ডান-সর্বাধিক অ-শূন্য অঙ্ক এবং সমস্ত অনুবর্তনীয় শূন্য।

উদাহরণ

   1    1
   2    2
  10   10
  11    1
  29    9
  30   30
  99    9
 100  100
 119    9
 120   20
 200  200
 409    9
1020   20

পরীক্ষার ক্ষেত্রে একটি সম্পূর্ণ তালিকা প্রয়োজন হবে না। এটি OEIS এ A274206

বিধি

  • আপনার প্রবেশে অবশ্যই যথাযথতা এবং মেমরির সমস্যাগুলি উপেক্ষা করে সমস্ত ধনাত্মক পূর্ণসংখ্যার জন্য তাত্ত্বিকভাবে কাজ করতে হবে।
  • ইনপুট এবং আউটপুট অবশ্যই দশমিক হতে হবে।
  • আপনি ইনপুট এবং / অথবা আউটপুট একটি সংখ্যা, একটি স্ট্রিং, বা অঙ্কের অ্যারে হিসাবে বেছে নিতে পারেন।
  • ইনপুটটি ইতিবাচক পূর্ণসংখ্যা হিসাবে গ্যারান্টিযুক্ত। আপনার এন্ট্রি অবৈধ ইনপুট জন্য কিছু করতে পারে।

এটি , তাই বাইটের মধ্যে সংক্ষিপ্ততম কোডটি জয়ী।


সুতরাং, "দশমিক মধ্যে" দশমিক সংখ্যাগুলির একটি তালিকা অন্তর্ভুক্ত করে, যেমন [1,0,2,0]-> [2,0]সর্বশেষ পরীক্ষার ক্ষেত্রে? (আমি "একক-আইটেম অ্যারে" বাক্যাংশটি সম্পর্কে অস্পষ্ট)।
জোনাথন অ্যালান

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

5

1
আমি মনে করি প্রায় সবাই এইরকম একটি শিশু হিসাবে গণ্য হয়। ;) কমপক্ষে আমিও তাই করেছি। :)
কেভিন ক্রুইজসেন

7
@ কেভিন ক্রুইজসেন "ছোটবেলায়"?
মার্টিন ইন্ডার

উত্তর:


19

পাইথন 2 , 28 বাইট

f=lambda n:n%10or 10*f(n/10)

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

একটি পুনরাবৃত্ত সূত্র খুব পরিষ্কারভাবে কাজ করে। শেষ সংখ্যাটি যদি ননজারো হয় তবে এটি আউটপুট করুন। অন্যথায়, চূড়ান্ত শূন্যটি অপসারণ করুন, এর জন্য আউটপুট গণনা করুন এবং এটি 10 ​​দ্বারা গুণ করুন।


11

জেলি , 6 3 বাইট

অঙ্কের দশমিক তালিকা হিসাবে I / O থাকার দ্বারা -3 বাইট ।

ṫTṪ

অনলাইনে চেষ্টা করে দেখুন টেস্ট স্যুট !

কিভাবে?

ṫTṪ - Main link: listOfDigits  e.g.  [1,    0,    2,    0]  or [1,      1,    9  ]
 T  - truthy indexes                 [1,          3      ]     [1,      2,    3  ]
ṫ   - tail (vectorises)              [[1,0,2,0],  [2,0]  ]     [[1,1,9],[1,9],[9]]
  Ṫ - tail pop                                    [2,0]                       [9]

যদি আমরা দশমিক তালিকাগুলি নিতে না পারি তবে 6 বাইটার হ'ল:

DµṫTṪḌ

যা আপনি এখানে দেখতে পারেন ।

এটি একই কাজ করে তবে পূর্বে একটি দশমিক তালিকায় একটি পূর্ণসংখ্যা রূপান্তর করে এবং পরে কোনও পূর্ণসংখ্যায় রূপান্তর করে।


আমি প্রথম কয়েকটি উত্তরগুলি যখন স্ক্রোল করছিলাম তখন আমি নিজেকে বলেছিলাম, "আমি বাজি ধরেছি একটি 3-বাইট জেলি সমাধান আছে ..."
DLosc

9

সি, 30 29 27 বাইট

এটিকে গল্ফ দেওয়ার জন্য দুটি সি-শোষণের অপব্যবহার করায় আমি গর্বিত (পোস্টের শেষে বর্ণিত); এটি বিশেষত সি (জিসিসি) এর জন্য


3) b=10;f(a){a=a%b?:b*f(a/b);}// 27 বাইট

2) b;f(a){b=a=a%10?:10*f(a/10);}// 29 বাইট

1) f(i){return i%10?:10*f(i/10);}// 30 বাইট

এটি অনলাইনে ব্যবহার করে দেখুন (২ by বাইট সংস্করণ)


প্রথম প্রয়াস (30 বাইট): আপত্তিজনক সত্য যে জিসিসিতে যদি কোনও মান ত্রৈমাসিক হিসাবে ঘোষণা না করা হয় তবে শর্তসাপেক্ষ মানটি ফিরে আসবে। সুতরাং আমার ত্রিনিরি অপারেটর কেন সত্য ফেরতের মানের জন্য ফাঁকা।

দ্বিতীয় প্রয়াস (২৯ বাইট): জিসিসিতে আপত্তিজনক স্মৃতি বাগ যেখানে যেখানে আমি বুঝতে পেরেছি যদি কোনও ফাংশনের কোনও রিটার্নের মান না থাকে, যখন ফাংশনে দুটির বেশি ভেরিয়েবল অর্থপূর্ণভাবে ব্যবহার করা হয়, তবে প্রথম আর্গুমেন্ট ভেরিয়েবলের শেষ সেট মান ফিরে আসবে।
   (সম্পাদনা করুন: তবে এই "সেট মানটি" ​​নির্দিষ্ট উপায়ে সেট করতে হবে, উদাহরণস্বরূপ একটি ভেরিয়েবল সেট করা =বা +=কাজ করা তবে এটির সাথে এটি সেট করা %=কাজ করে না; অদ্ভুত)

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


আপনি নিজের উত্তরটির শিরোনামে "জিসিসি" যুক্ত করতে চাইতে পারেন কারণ এটি জিসিসি-নির্দিষ্ট (এটি ঝাঁকুনিতে কাজ করে না)। এছাড়াও, "মেমরি বাগ" সম্ভবত কেবল অপরিজ্ঞাত আচরণ যা জিসিসি নির্দিষ্ট স্ট্যাক ফ্রেমের বিন্যাসের কারণে কাজ করে। এটি সম্ভবত অন্যান্য প্ল্যাটফর্মগুলিতে এমনকি জিসিসির সাথেও কাজ করে না।
সাইমন

@ গুরকা হয়ে গেছে, ধন্যবাদ
অ্যালবার্ট রেনশো

7

রেটিনা , 7 6 বাইট

!`.0*$

এটি অনলাইনে ব্যবহার করে দেখুন (সমস্ত পরীক্ষার ক্ষেত্রে)

ইনপুট স্ট্রিংয়ের শেষে যে কোনও শূন্যের পরে একটি অঙ্কের আউটপুট ম্যাচ। যদিও প্রয়োজন হয় না, এটি কাজ করার জন্যও ঘটে 0


হু, আমি অনুভব করেছি [1-9](বা [^0]) এর পরিবর্তে প্রয়োজনীয় হবে \d। আমি অনুমান করি লোভ *প্রতিবার সঠিক আউটপুট নিশ্চিত করে।
ETH প্রোডাকশন

@ ইথ প্রডাকশনগুলি এর লোভের সাথে *তবে মিলগুলি বাম থেকে ডানে অনুসন্ধান করা হয় তার সাথে কিছুই করার নেই। \d0*?$কাজ করবে।
মার্টিন ইন্ডার

রেজেক্স ব্যবহার করে .0*$কাজ করা উচিত
12

যদি কেবলমাত্র শেষ ম্যাচের আউটপুট দেওয়ার কোনও (সংক্ষিপ্ত পর্যায়ে) উপায় থাকে তবে আপনি ব্যবহার করতে পারেন.0*
12

@ 12Me21 এটি করার একমাত্র উপায় হ'ল কেবলমাত্র শেষ ঘটনাটির সাথে মেলে, বা একটি প্রতিস্থাপন বা কিছু ব্যবহার করা। এটি ছোট হবে না।
mbomb007

7

কিউবিক্স , 18 32 বাইট

আমি মনে করি আমাকে এটির জন্য কিছু সময় ব্যয় করতে হবে এবং আমি এটি কিছুটা সংকোচ করতে পারি কিনা তা দেখুন। তবে এই মুহুর্তের জন্য এটি এখানে।
দেখা যাচ্ছে আমি এই সম্পূর্ণরূপে ভুল পদ্ধতিতে ভাবছিলাম। এখন প্রক্রিয়াটি ক্রমবর্ধমানভাবে ইনপুট পূর্ণসংখ্যায় একটি মোড (1,10,100,1000, ...) প্রয়োগ করে এবং প্রথমটি প্রিন্ট করে যা শূন্য নয়। বিট আরও বিরক্তিকর, তবে সংক্ষিপ্ত।

!N%*I1^\.u;u@O\;;r

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

    ! N
    % *
I 1 ^ \ . u ; u
@ O \ ; ; r . .
    . .
    . .

একটি কিউবিক্স উত্তরটি দেখতে সর্বদা চমৎকার :)
অলিভার

@ ওবরকন শীঘ্রই একটি উন্নত ব্যক্তি পেয়েছেন। সত্যিই এটি একটি ভুল উপায়ে করেছে
মিকিটি

5

জাভাস্ক্রিপ্ট, 21 বাইট

f=n=>n%10||10*f(n/10)

পরীক্ষার মামলা


5

জাভাস্ক্রিপ্ট 19 18 বাইট

দুটি বাইট বন্ধ করে গল্ফ করার জন্য এক বাইট এবং প্যাট্রিক রবার্টসকে গল্ফ করার জন্য ইটিএইচ প্রডাকশনসকে ধন্যবাদ

x=>x.match`.0*$`

সবচেয়ে বড় সম্ভাব্য শূন্যের পরে কোনও অক্ষরের সাথে ইনপুট স্ট্রিংয়ের শেষে থাকা রেজেক্সের সাথে মেলে এমন স্ট্রিংগুলির একটি অ্যারে প্রদান করে।

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


5
আমি মনে করি না যে আপনার এটির দরকার gআছে কারণ সন্ধানের জন্য কেবল একটি ম্যাচ আছে।
ETH প্রোডাকশনগুলি

2 বাইট ব্যবহার করে সংরক্ষণ করুনx=>x.match`.0*$`
প্যাট্রিক রবার্টস



3

ব্র্যাচল্যাগ , 2 বাইট

a₁

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

a₁পূর্ণসংখ্যার জন্য নির্মিত প্রত্যয়টি এইভাবে প্রয়োগ করা হয়:

brachylog_adfix('integer':1, 'integer':0, 'integer':0).
brachylog_adfix('integer':1, 'integer':I, 'integer':P) :-
    H #\= 0,
    H2 #\= 0,
    abs(P) #=< abs(I),
    integer_value('integer':Sign:[H|T], I),
    integer_value('integer':Sign:[H2|T2], P),
    brachylog_adfix('integer':1, [H|T], [H2|T2]).

ব্র্যাচল্যাগ সংখ্যার তালিকা হিসাবে পূর্ণসংখ্যার আচরণ করতে সক্ষম হতে পছন্দ করে এবং এর জন্য এটি কাস্টম ইউটিলিটি প্রিকিকেট ব্যবহার করে integer_value/2। এখানে আকর্ষণীয় বিষয়টি integer_value/2হ'ল যেহেতু এটি শীর্ষস্থানীয় শূন্যগুলির সাথে একটি অঙ্কের তালিকাটি সঠিকভাবে অনুবাদ করতে সক্ষম হতে হবে, তাই এটি শীর্ষস্থানীয় শূন্যগুলির সাথে একটি অঙ্কের তালিকার একটি পূর্ণসংখ্যার অনুবাদ করতে সক্ষম হয়ে যায়, তাই ভবিষ্যদ্বাণী করে যে এটি চান না ঘটবে (তাদের বেশিরভাগ, বিশেষত ননডেটগুলি পছন্দ করে a) তাদের অঙ্কের তালিকাগুলির a₁শীর্ষস্থানীয়দের 0 হওয়া থেকে বিরত করে So সুতরাং, যখন তালিকা এবং স্ট্রিংয়ের জন্য প্রথমে সংক্ষিপ্ত প্রত্যয় তৈরি করা হয়, তবে এটি একটি শীর্ষস্থানীয় 0 দিয়ে কোনও পূর্ণসংখ্যার প্রত্যয়কে ছেড়ে যায়, যার মধ্যে সদৃশ অপসারণ ছাড়াও, এর অর্থ হ'ল প্রথম প্রত্যয়টি হ'ল সমস্ত পিছনের শূন্যের সাথে ডানদিকের শূন্যতম অঙ্ক।


2

ব্রেন-ফ্লাক , 74 বাইট

{({}<>)<>}(()){{}<>(({}<>)[((((()()()){}){}){}){}]<(())>){((<{}{}>))}{}}{}

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

কেবল সর্বশেষ নন -0 এবং সমস্ত অনুসরণীয় 0 টি মুদ্রণ করে।

ব্যাখ্যা:

{({}<>)<>}                    # Move everything to the other stack (reverse the input)
(())                          # Push a 1 to get started
{                             # do...
  {}<>                        #   pop the result of the equals check (or initial 1)
  (                           #   push...
    ({}<>)                    #     the top value from the other stack (also put this on the stack)
    [((((()()()){}){}){}){}]  #     minus the ASCII value of 0
    <(())>                    #     on top of a 1
  )                           #   close the push   
  {                           #   if not zero (ie. if not equal)
    ((<{}{}>))                #     replace the 1 from 3 lines back with a 0
  }{}                         #   end if and pop the extra 0
}                             # while the copied value != "0"
{}                            # pop the result of the equals check

2

ভিম, 19 বাইট

দুটি সংস্করণ, উভয় 19 বাইট:

:s/\v.*([^0]0*)/\1
:s/.*\([^0]0*\)/\1

প্লাস প্রত্যেকের জন্য একটি ট্রেলিং ক্যারেজ ফিরুন।

সমস্ত টেস্ট-কেস অনলাইনে যাচাই করুন! (একাধিক লাইনে পরীক্ষার জন্য বাইট যুক্ত করা হয়েছে)



2

আর, 33 বাইট

নামহীন ফাংশন হিসাবে প্রয়োগ করা হয়েছে

function(x)rle(x%%10^(0:99))$v[2]

এটি 10 ​​^ 99 এর মাধ্যমে 10 ^ 0 এর একটি মোড প্রয়োগ করে। rleফলাফলগুলি হ্রাস করতে ব্যবহৃত হয় যাতে দ্বিতীয় আইটেমটি সর্বদা আমরা চাই ফলাফল হয়।
এটি অনলাইন চেষ্টা করুন!


2

Zsh , 18 16 বাইট

<<<${(M)1%[^0]*}

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

বাশ , 25 বাইট

r=${1%[^0]*}
echo ${1#$r}

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


রিজেক্স ব্যবহারের জন্য শেলগুলিকে বাহ্যিক প্রোগ্রামগুলি কল করতে হবে, তাই আমাদের গ্লোববিংয়ের সাথে কাজ করতে হবে।

${1%[^0]*}সম্প্রসারণ সবচেয়ে কম প্রত্যয় একটি অশূন্য অক্ষর দিয়ে শুরু মিলে যায়, এবং এটি সরিয়ে ফেলা হয়।

  • জ্যাশে, (M)পতাকা যুক্ত করার ফলে মিলে যাওয়া প্রত্যয়টি অপসারণের পরিবর্তে রাখা হবে।
  • বাশ-এ, ${1% }যা কিছু অবশিষ্ট রয়েছে তা প্রসারণ হিসাবে সম্প্রসারণ সরিয়ে দেয়।

1

GNU সেড , 17 14 + 1 (আর পতাকা) = 15 বাইট tes

সম্পাদনা করুন: 2 বাইট কম রিলে ধন্যবাদ

s:.*([^0]):\1:

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

এটি অনলাইন চেষ্টা করুন! (সমস্ত পরীক্ষার উদাহরণ)


1

গণিত, 26 বাইট

খাঁটি ফাংশন যা অঙ্কগুলির একটি তালিকা নেয় এবং অঙ্কগুলির একটি তালিকা আউটপুট করে:

#/.{___,x_,y:0...}:>{x,y}&

ব্যাখ্যা

#                           First argument
 /.                           Replace
   {                              start of list followed by
    ___,                          zero or more elements followed by
        x_,                       an element (referred to later as x) followed by
           y:0...                 a sequence of zero or more 0s (referred to later as y) followed by
                 }                end of list
                  :>            with
                    {x,y}         {x,y}
                         &   End of function.

এটি কাজ করে যেহেতু এটি সবচেয়ে বামে ম্যাচটি সন্ধান করে x, এটি অবশ্যই তালিকার ডানদিকের ননজারো উপাদান হতে হবে কারণ এটি আরও বেশি শূন্যের ক্রম 0এবং তারপরে তালিকার শেষের পরে।


1

জাভা 8, 47 বাইট

এটি একটি ল্যাম্বডা এক্সপ্রেশন IntUnaryOperator:

x->{int m=1;for(;x%m<1;m*=10);return x%m*m/10;}

ব্যাখ্যা: মিটার 10 দ্বারা x%mগুণন করুন 0 না হওয়া পর্যন্ত return x%m*m/10বিভাজন প্রয়োজন কারণ এম কাঙ্ক্ষিত ফলাফলের চেয়ে প্রস্থের ক্রম বেশি।


1

পার্ল 6 , 10 বাইট

{+m/.0*$/}

তুচ্ছ রেজেক্স সমাধান। সংখ্যার ইনপুট এবং আউটপুট।


1

এমএটিএল , 10 7 বাইট

3 বাইট সংরক্ষিত @ বি ধন্যবাদ । মেহতা!

tfX>Jh)

ইনপুট এবং আউটপুট হল অঙ্কগুলির একটি অ্যারে।

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

বা সমস্ত পরীক্ষার কেস যাচাই করুন

ব্যাখ্যা

t     % Input string implicitly. Duplicate
f     % Push indices of non-zero digits
X>    % Keep maximum, say k
Jh    % Attach 1j to give [k, 1j]. This is interpreted as an index "k:end"
)     % Index into original string. Display implcitly

যেহেতু আমাদেরকে পূর্ণসংখ্যার ভেক্টর হিসাবে ইনপুট এবং আউটপুট নেওয়ার অনুমতি দেওয়া হয়েছে, আপনি 48-3 বাইট সংরক্ষণ করে পুরোপুরি সরিয়ে ফেলতে পারেন : এটি অনলাইনে চেষ্টা করুন!
বি মেহতা

1

সি #, 30 28 বাইট

এই জাভাস্ক্রিপ্ট উত্তরের উপর ভিত্তি করে , তাই আমি মনে করি যে সমস্ত ক্রেডিট তার কাছে চলে যায়।

Golfed

i=a=>a%10<1?10*i(a/10):a%10;
  • -2 বাইট ()চারপাশে সরিয়ে Emignaa ধন্যবাদ

1
আমি মনে করি আপনার iপুনরাবৃত্তি হিসাবে ব্যবহার করার জন্য আপনাকে এই কাজের জন্য স্পষ্টভাবে নামটির প্রয়োজন ।
এমিগিনা

@ এমিগনা ঠিক বলেছেন! আমি পুরোপুরি এটি মিস করেছি :(
মেটোনিয়াম

এটি আপডেট হয়েছে তবে আমি যদি 100% নিশ্চিত নই যে এটি এইভাবে সঠিক হয়
মেটোনিয়াম

1
আমি সি # তে এ বিষয়ে sensকমত্য জানি না। এই সিনট্যাক্সটি বৈধ, তবে ডেলিগেট ইতিমধ্যে ঘোষণা করা থাকলে (অন্যথায় iপুনরাবৃত্তির কলটির জন্য অঘোষিত হয়ে যাবে) কেবল তখনই কাজ করবে।
এমিগিনা

1
আশেপাশে প্রথম বন্ধনী aযদিও প্রয়োজন হয় না।
এমিগিনা

1

জে, 27 বাইট

10&|`(10*(p%&10))@.(0=10&|)

এটি এক্সনোরের সূত্রের ভিত্তিতে, তাই তাকে ক্রেডিট।


1

কোটলিন, 49 বাইট

ল্যাম্বদা, এ্যাসাইনযোগ্য (List<Int>) -> List<Int>

{a->a.slice(a.indexOfLast{it in 1..9}..a.size-1)}
  • অন্তর্নিহিত প্যারামিটার নাম itমধ্যেindexOfLast
  • .. বিল্ডিং রেঞ্জের জন্য

1

পার্ল 5, 12 বাইট

11 এর -nEপরিবর্তে 1 এর জন্য প্লাস 1-e

say/(.0*$)/

1

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

RD0Ê1k>£R

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

ব্যাখ্যা

R          # reverse input
 D         # duplicate
  0Ê       # check each for inequality with 0
    1k     # get the index of the first 1
      >    # increment
       £   # take that many digits from the input
        R  # reverse



@ ম্যাজিক অ্যাক্টোপাস ইউরন: এটি কেবলমাত্র শেষ সংখ্যাটি পরীক্ষা করছে। এটি সর্বশেষ শূন্য-শূন্য সংখ্যা এবং সর্বোপরি হওয়া উচিত।
এমিগানা


1

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

æΩ$3╚

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

পদ্ধতি:

  1. 10 দ্বারা "বহুগুণ" গণনা করুন (এটি 10 ​​বার সমানভাবে ইনপুট বিভক্ত করে এমন সংখ্যার সংখ্যা)
  2. যোগ করুন 1।
  3. ডান দিক থেকে অনেকগুলি অক্ষর রাখুন (স্ট্রিং হিসাবে ইনপুট)।

1

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

ĀÅ¡θ

সংখ্যাগুলির তালিকা হিসাবে I / O

এটি অনলাইনে চেষ্টা করুন বা সমস্ত পরীক্ষার কেস যাচাই করুন (আরও ভাল পঠনযোগ্যতার জন্য টেস্ট স্যুটে একটি যোগদান রয়েছে)।

ব্যাখ্যা:

Ā     # Python-style truthify each digit in the (implicit) input-list (0 if 0; 1 if [1-9])
      #  i.e. [9,0,4,0,3,0,0] → [1,0,1,0,1,0,0]
 Å¡   # Split the (implicit) input-list on truthy values (1s)
      #  i.e. [9,0,4,0,3,0,0] and [1,0,1,0,1,0,0] → [[],[9,0],[4,0],[3,0,0]]
   θ  # And only leave the last inner list
      #  i.e. [[],[9,0],[4,0],[3,0,0]] → [3,0,0]
      # (after which it is output implicitly as result)


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