একটি নম্বর দেওয়া হয়েছে, এর "সমষ্টিগত সমষ্টি" মুদ্রণ করুন


20

ইনপুট হিসাবে একটি নম্বর দেওয়া হয়েছে, এর সমষ্টিগত অঙ্কটি মুদ্রণ করুন

যৌথ যোগফল কি?

সংখ্যা 13214, ইনপুট বিবেচনা করুন

বাম থেকে শুরু হওয়া প্রতিটি অঙ্কের মধ্যে লুপিং করা, আমরা এর সমষ্টিগত যোগফলটি অর্জন করতে সক্ষম হব।

1 এর অর্থ প্রথম অঙ্কটি দেখুন এবং যোগফলকে যোগ = যোগফল = 1 করুন

3 মানে "প্রথম 3 টি সংখ্যা" দেখুন এবং যোগফলকে যোগ করুন, যোগ = 1 + 132

2 মানে "প্রথম 2 সংখ্যা" দেখুন এবং যোগফলকে যোগ করুন, যোগ = 1 + 132 + 13

1 মানে প্রথম অঙ্কটি দেখুন এবং যোগফলকে যোগফল যোগ করুন = 1 + 132 + 13 + 1

4 মানে "প্রথম 4 টি সংখ্যা" দেখুন এবং যোগফলকে যোগ করুন, যোগ = 1 + 132 + 13 + 1 + 1321

মোট যোগফল = 1468এবং এটি আপনার আউটপুট


বিশেষ ক্ষেত্রে:

যদি আমাদের মুখোমুখি হয় 0, তবে স্পষ্টভাবে আমরা যোগফলটি একই রাখি

The number 1301 would have a sum = 1 + 130 + 1 = 132

যদি আমরা এমন কোনও সংখ্যার মুখোমুখি হয়ে যাই যা বড় হয় তবে ইনপুটটির দৈর্ঘ্য, আমরা এটি সমস্ত সংযুক্ত করি

The number 251 would have a sum = 25 + 251 + 2 = 278

পরীক্ষার কেস:

collectiveSum(0) = 0

collectiveSum(2) = 2

collectiveSum(2315) = 23 + 231 + 2 + 2315 = 2571

স্বল্পতম পরিমাণে বাইটস জিতল। শুভ গল্ফিং!


6
এই ধরণের কাজগুলির সাথে প্রায়শই একটি প্রশ্ন দেখা যায়: আমরা কী অঙ্কগুলির একটি তালিকাটিকে আমাদের ইনপুট হিসাবে গ্রহণ করতে পারি?
জোনাথন অ্যালান

7
2315পরীক্ষা ক্ষেত্রে অনুপস্থিত + 2থেকে 1এবং স্থাপিত হবে 2571
জোনাথন অ্যালান

আমরা কি আশা করি যে 0 থেকে বাদ দিয়ে 0 দিয়ে শুরু হওয়া ইনপুটগুলি মোকাবেলা করতে হবে? প্রোগ্রামটি কীভাবে এই ইনপুটগুলির সাথে ডিল করা উচিত
f 24n 24tɪk

দেখে মনে হচ্ছে শেষ পরীক্ষার কেসটি ভুল; হওয়া উচিত 2571
শেগি

পূর্ণসংখ্যার তালিকার পরিবর্তে কেন ইনপুটটি সংখ্যা হওয়া উচিত তা আমি দেখতে পাচ্ছি না। এটিকে ইনপুটটির অযথা জটিল আকারের মতো মনে হয়।
গম উইজার্ড

উত্তর:


7

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

-1 কেভিন ক্রুইজসেনকে ধন্যবাদ ( এড়িয়ে যাওয়ার ব্যবহার })

€£O

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

কিভাবে?

€£O - implicit input   e.g. 2315
€   - map with:
 £  -   head to             23, 231, 2, 2315
  O - sum                   2571

আমাকে 13 সেকেন্ড এক্সডি দ্বারা প্রহার করুন
ম্যাজিক অক্টোপাস উরন

খুশী হয়ে আমি তখন বাইটগুলিতে লিঙ্কটি যুক্ত করার অপেক্ষায় ছিলাম: পি
জোনাথন অ্যালান

ε£}€£একটি বাইট সংরক্ষণ করা যেতে পারে ।
কেভিন ক্রুইজসেন

@ কেভিন ক্রুইজসেন কি এটিও একটি বিকল্প ছিল যখন আমি এটি তৈরি করেছি?
জোনাথন অ্যালান

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

5

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

lambda n:sum(int('0'+n[:int(x)])for x in n)

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


দুর্ভাগ্যক্রমে এটি ValueErrorইনপুট 1301, বা এমন কোনও ইনপুট যার কোনও একটি অঙ্ক হিসাবে শূন্য রয়েছে তা উত্থাপন করে appears
ম্যাথমান্ডান

@ মাঠমন্ডন এখনই ঠিক করা উচিত?
ASCII-

intফাংশন একটি পূর্ণসংখ্যা গ্রহণ করতে পারে, প্রতিস্থাপন '0'শুধু সহ STRING আক্ষরিক 0এক বাইট বন্ধ শেভ করা উচিত নয়।
মুজঅন দ্য রক্স

@ মুসঅন দ্য রকস এমনভাবে করেছিলেন যে আমার কাছে কম হকি দেখতে লাগবে (?), যদি না আমি বোকা এবং কিছু নাড়াচাড়া করি (সাধারণত)
এএসসিআই-কেবল

4

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

প্রথম জমা! সহায়তার জন্য @ ডেস্ট্রাক্টেবললমনকে ধন্যবাদ!

import sys;d=sys.argv[1];s=0;for e in d:s+=int(d[:int(e)]);print str(s)

ঠিক তেমনই আপনি জানেন যে, আপনার পোস্টটি শিরোনাম সম্পাদনা করার সময় ডাউনভোটটি সম্প্রদায় ব্যবহারকারীর দ্বারা স্বয়ংক্রিয়ভাবে দেওয়া হয়েছিল বলে মনে হয় । দুঃখিত। এটি একটি বিরক্তিকর, অযৌক্তিক বৈশিষ্ট্য । যদিও আমি জানি না কেন এটি কেন এবার হয়েছিল, কারণ যতদূর আমি বলতে পারি, এটি নিম্ন মানের হিসাবে চিহ্নিত করা হয়নি
স্টেডিবক্স

পিপিসিজিতে আপনাকে স্বাগতম! চমৎকার প্রথম জমা! এবং হ্যাঁ, স্টিডিবক্স যেমন বলেছিল, ডাউনভোটটি বিশেষত কোনও ভাল কারণের জন্য স্বয়ংক্রিয়ভাবে স্থাপন করা হয়েছিল। আপনার পোস্টটি কয়েকটি উপার্জন পেয়েছে তাই আশা করা যায় যে পরবর্তী ক্রোন জবটিতে স্বয়ংক্রিয়
ডাউনভোটটি

3

হাস্কেল, 43 37 বাইট

f l=sum[read$'0':take(read[d])l|d<-l]

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

ইনপুট নম্বরটি স্ট্রিং হিসাবে নেওয়া হয়।

   [        |d<-l]      -- for every digit d in the input string
        read[d]         -- convert to a number
      take     l        -- and take that many digits from l
     0:                 -- prepend a 0 (to handle 0s)
   read                 -- convert to a number
sum                     -- sum all numbers

3

রুবি , 36 বাইট

->n{n.sum{|x|n[0,x.to_i].join.to_i}}

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


#sumফিকনুমগুলিতে সংজ্ঞায়িত করা হয় নি, তাই আমি ধরে নিই যে আপনি nএকটি স্ট্রিং হতে চান । যাইহোক, String#sumএকটি গণনা করে not a particularly good checksumএবং আপনার দেওয়া ব্লকটিকে উপেক্ষা করে। যদি আপনি বোঝাতে চেয়েছিলেন n.chars.sum{, Enumerable#sumরুবি স্ট্ডলিবের মধ্যে নেই, এটি রেল দ্বারা সরবরাহিত একটি এক্সটেনশন। আপনার সমাধানগুলি পোস্ট করার আগে তাদের পরীক্ষা করুন।
শেলভাকু

@ শেলভাকু হ্যাঁ, আমি যদিও অ্যারে হিসাবে ইনপুট নিচ্ছি ... পাদচরণ সরবরাহ করা দেখুন। প্লাস Enumerable#sumরুবি ২.৪ এ রয়েছে , এবং টিআইও ২.৪ ব্যবহার করে
ASCII- কেবল

আপনি যদি ইনপুট হিসাবে অঙ্কের অ্যারে
নেন

@ অ্যাসোনটিউহিদ আমি মনে করি না যে এটি ইনপুটটির একটি বৈধ রূপ, যদি আপনি প্রমাণ পান অন্যথায় দয়া করে ব্যাখ্যা করুন
ASCII-

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

3

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

2 বাইট বন্ধ করে গল্ফ করার জন্য @ শেগি ধন্যবাদ Thanks

f=
x=>[...x].map(y=>a+=+x.slice(0,y),a=0)|a

console.log(f("2315"))
console.log(f("0100"))
console.log(f("2"))
console.log(f("01025"))

স্ট্রিং হিসাবে ইনপুট গ্রহণ করে এবং পূর্ণসংখ্যা ফেরত দেয়। বর্তমানে যেমন লেখা আছে, এই কোডটি কোনও পূর্ণসংখ্যার শীর্ষস্থানীয় শূন্যগুলি ছেড়ে যায়।


40 বাইট:x=>[...x].map(y=>a+=+x.slice(0,y),a=0)|a
শেগি

3

আর, 57 বাইট

@ ভলোকে আরও একটি ধন্যবাদ সংরক্ষণ করা হয়েছে

sum(strtoi(substring(i<-scan(,""),1,el(strsplit(i,"")))))

ছিল: @ রবার্ট হ্যাকেনের পরামর্শের জন্য 4 বাইট সংরক্ষিত

i=scan(,"");sum(strtoi(substring(i,1,el(strsplit(i,"")))))

একটি সহজ স্ট্রিং পদ্ধতির।


1
আপনি প্রতিস্থাপন unlistকরে 4 বাইট সংরক্ষণ করতে পারেন el
রবার্ট হ্যাকেন

1
ইনলাইন অ্যাসাইনমেন্ট সহ 1 টি সংরক্ষণ করুনsum(strtoi(substring(i<-scan(,""),1,el(strsplit(i,"")))))
ভ্লো


2

কাঠকয়লা , 10 বাইট

IΣIEθ✂θ⁰Iι

এটি অনলাইন চেষ্টা করুন! লিঙ্কটি কোডটির ভার্জোজ সংস্করণ। ব্যাখ্যা:

   Eθ       Map over input string
        Iι  Cast current character to integer
     ✂θ⁰    Slice input string to that length
 ΣI         Cast slices to integer and take the sum
I           Cast result to string and implicitly print

হাহাহা, আমার ঠিক একই জিনিস ছিল
ASCII-

2

অক্টাভা , 56 বাইট

@(n)sum(str2num(['' 32+char(n.*(find(n)<=(n'-48))-32)]))

বেনামে ফাংশন যা ইনপুট আর্গুমেন্ট হিসাবে একটি স্ট্রিং নেয় এবং আউটপুট হিসাবে একটি নম্বর প্রদান করে।

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

সংক্ষিপ্ত সংস্করণ

@(n)sum(str2num(['' char(n.*(find(n)<=(n'-48)))]))

মতলবতে কাজ করে কারণ char(0)একটি স্থান হিসাবে বিবেচিত হয়।


2

জেলি ,  7  5 বাইট

-2 ডেনিসকে ধন্যবাদ (প্রধান ভেক্টরিজগুলি> <<)

4 যদি আমরা সংখ্যার তালিকা নিতে পারি *

Dḣ`ḌS

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

* ḣ`ḌS

কিভাবে?

Dḣ`ḌS - Link: integer, n   e.g. 2315
D     - to decimal list         [2,3,1,5]
  `   - repeat left as right    [2,3,1,5]
 ḣ    - head                    [2,3], [2,3,1], [2], [2,3,1,5]
   Ḍ  - from decimal lists      23, 231, 2, 2315
    S - sum                     2571

2

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

{sum $_ X[&substr]^«.comb}

এটা পরীক্ষা করো

সম্প্রসারিত:

{  # bare block lambda with implicit param 「$_」

  sum

    $_           # the input

      X[&substr] # crossed using &substr sub as if it was an infix operator

    \          # upto 「^」 for each of the following 「«」 (creates Range objects)
    .comb        # the input split into digits (implicit method call on 「$_」
}





1

জাপট, 5 বাইট

স্ট্রিং হিসাবে ইনপুট নেয়।

¬x@¯X

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


ব্যাখ্যা

          :Implicit input of integer string U
¬         :Split to an array of characters/digits
  @       :Pass each X through a function
   ¯X     :Slice U from the first to the Xth character
 x        :Reduce by addition

O_o হয় জাপট সত্যিই গোলাপী বা আমি আসলে ভুল করছি
ASCII-

2
@ এএসসিআইআই-কেবল: বেশিরভাগ লোকেরা বুঝতে পেরে জাপট অনেক বেশি "গল্ফ"; আমরা আমাদের চ্যালেঞ্জগুলির ন্যায্য অংশটি জিততে পারি, এমনকি সাম্প্রতিক অ্যাসিআই -আর্ট চ্যালেঞ্জে চারকোল এবং এসওজিএলকেও হারিয়েছি ।
শেগি

@ শেগি শিওর, তবে আমি বুঝতে পারিনি যে এটি জেলি / প্রকৃত / 05 এএফ 1 ই লেভেল গল্ফী
এএসসিআইআই-কেবল

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

1

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

ç╫&º±å

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

একই প্রোগ্রামটির সংশ্লিষ্ট আসকি উপস্থাপনাটি এটি।

EZFy(e+

E        get array of digits
 Z       push 0 under array of digits
  F      for each digit, run the rest of the program
   y     input as a string
    (    get start of string for specified number of characters
     e   evaluate substring as integer
      +  add




0

K4 , 22 বাইট

সমাধান:

+/10/:'(x&#x)#\:x:10\:

উদাহরণ:

q)k)+/10/:'(x&#x)#\:x:10\:13214
1468
q)k)+/10/:'(x&#x)#\:x:10\:1301
132
q)k)+/10/:'(x&#x)#\:x:10\:251
278
q)k)+/10/:'(x&#x)#\:x:10\:2315
2571

ব্যাখ্যা:

বেস -10 বিভক্ত করুন, এ থেকে প্রতিটি সংখ্যার মিনিট এবং তালিকাটির দৈর্ঘ্য নিন। ফিরে রূপান্তর এবং যোগফল।

+/10/:'(x&#x)#\:x:10\: / the solution
                  10\: / to base 10, 123 => 1 2 3
                x:     / save as x
             #\:       / take (#) each left
       (    )          / the left
          #x           / count (#) length of x
        x&             / min of x and the length
  10/:'                / from base 10 each
+/                     / sum up the results

0

জাভা 8, 92 বাইট

n->n.chars().map(c->(c-=48)>0?new Integer(n.substring(0,c<n.length()?c:n.length())):0).sum()

ব্যাখ্যা:

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

n->                                  // Method with String parameter and int return-type
  n.chars()                          //  Loop over the characters
   .map(c->(c-=48)                   //   Convert character to digit
        >0?                          //    And if it's larger than 0
         new Integer(n.substring(0,  //     Take the first `x` digits, where `x` is:
          c<n.length()?              //      If the digit higher than the total a.o. digits
           c                         //       Take the first `c` digits
          :                          //      Else:
           n.length()))              //       Take all digits
         :                           //    Else:
          0)                         //     Take 0
   .sum()                            //   And sum everything



0

জেলি , 6 বাইট

DµḣµVS

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

Dইনপুটটির igsগুলি পান , তারপরে ইনপুট ( ইড) এর প্রথম [প্রতিটি ডিজিট] ​​উপাদানগুলি পান , তারপরে প্রতিটি যোগফলটিকে Vআবার একটি সংখ্যা তৈরি করতে এবং Sum করুন।

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