স্ট্রিংয়ের ক্রমহীন opeাল আউটপুট করুন


12

চ্যালেঞ্জ

যেমন একটি স্ট্রিং প্রদত্ত Hello World!এটা ভেঙ্গে তার চরিত্র মান মধ্যে: 72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100, 33

পরে যে অক্ষরগুলি প্রতিটি পরপর যুগল মধ্যে পার্থক্য নিরূপণ: 29, 7, 0, 3, -79, 55, 24, 3, -6, -8, -67

অবশেষে, তাদের যোগফল এবং চূড়ান্ত ফলাফল মুদ্রণ: -39

বিধি

  • স্ট্যান্ডার্ড লুফোলস প্রযোজ্য
  • এই নিখুঁত কার্য সম্পাদন করে এমন প্রাক-তৈরি ফাংশন ব্যবহার করছে না
  • সৃজনশীল সমাধান উত্সাহিত
  • আনন্দ কর
  • এটি হিসাবে চিহ্নিত হয়েছে , বাইট জেতে সংক্ষিপ্ত উত্তর কিন্তু নির্বাচন করা হবে না।

16
ডেনিসের পর্যবেক্ষণ দেখায় যে এই কাজটি প্রয়োজনের চেয়ে জটিল পদ্ধতিতে চিহ্নিত করা হয়েছে।
গ্রেগ মার্টিন

কোনও ভাষা যদি স্ট্রিংয়ের ধরণগুলি সমর্থন করে এমনকি কোনও অক্ষর অ্যারে হিসাবে ইনপুট গ্রহণ করতে পারে?
পোষ্ট করুন

@ পোক দুঃখিত, একটি স্ট্রিং হতে হবে
dkudriavtsev

@ গ্রেগমার্টিন আমি পরে বুঝতে পারি নি চ্যালেঞ্জ যদিও এইভাবে থাকা উচিত।
dkudriavtsev

@ ডিজেএমসিএমহেম জেনে রাখা ভাল, অন্য সকল আউটপুট এর দ্বারা অনুমোদিত।
dkudriavtsev

উত্তর:


38

পাইথন, 29 বাইট

lambda s:ord(s[-1])-ord(s[0])

পার্থক্যের যোগফল একটি দূরবীনীয় সিরিজ গঠন করে, তাই বেশিরভাগ সমষ্টি বাতিল হয়ে যায় এবং
(গুলি 1 - গুলি 0 ) + (গুলি 2 - এস 1 ) +… + (এস এন-1 - এস এন -2 ) + (এস এন - s n-1 ) = s n - s 0

বাইট স্ট্রিং গ্রহণ করলে ইনপুট হিসাবে অনুমোদিত

lambda s:s[-1]-s[0]

19 বাইট জন্য পাশাপাশি কাজ করবে ।

আইডিয়ন উভয় পরীক্ষা ।


এটি কি ফলাফল মুদ্রণ করে?
dkudriavtsev

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

22

এমএটিএল , 2 বাইট

ds

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

ব্যাখ্যা:

dএকটানা অক্ষর এবং sফলাফলের অ্যারের যোগফলের মধ্যে পার্থক্য পেয়ে যায় । তারপরে, স্ট্যাকের উপরে থাকা মানটি স্পষ্টভাবে মুদ্রিত হয়। সে সম্পর্কে আর কিছু বলার নেই।

মজার ব্যাপারটি যথেষ্ট, যদিও ডেনিস একটি দুর্দান্ত শর্টকাট আবিষ্কার করেছেন, এটি এমএটিএল-তে উল্লেখযোগ্যভাবে দীর্ঘ হবে।


9

জেলি , 3 বাইট

OIS

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

Oইনপুট স্ট্রিংয়ের অক্ষরের রিন্ডালগুলি নিন , তারপরে সেই Iতালিকার ncrements, তারপরে সেই তালিকার Sum ।


হ্যাঁ, ফলাফল মুদ্রণ করা (এবং প্রথম স্থানে ইনপুট নেওয়া) জেলিতে স্পষ্টভাবে ঘটে।
লিন

6

ম্যাটল্যাব, 16 বাইট

@(x)sum(diff(x))

এটি একটি বেনামী ফাংশন নামে সৃষ্টি ansযা মত বলা যেতে পারে: ans('Hello world!')

অষ্টাভে একটি অনলাইন ডেমো এখানে রয়েছে যা +উপাদান-থেকে-তফাত পার্থক্য গণনা করার আগে স্পষ্টভাবে ইনপুট স্ট্রিংটিকে একটি সংখ্যার অ্যারে রূপান্তর করতে অতিরিক্ত বাইটের প্রয়োজন requires



3

কিউবিক্স , 13 বাইট

কিউবিক্স একটি ঘনক্ষেত্রের চারপাশে মোড়ানো একটি 2-মাত্রিক ভাষা।

i?u//O-t#;/.@

এটি অনলাইন পরীক্ষা! নিম্নলিখিত ঘনক্ষেত নেট এই মানচিত্র:

    i ?
    u /
/ O - t # ; / .
@ . . . . . . .
    . .
    . .

যেখানে আইপি (নির্দেশ পয়েন্টার) সুদূর-বাম মুখের উপরের-বামে শুরু হয়।

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

প্রথমত, আইপি আয়নাটিকে আঘাত করে /যা এটিকে iউপরের মুখের উপরে পুনর্নির্দেশ করে । শীর্ষ মুখটি এমন লুপ যা ইওএফ পৌঁছানো অবধি ধারাবাহিকভাবে চারকোডগুলি ইনপুট করে। যখন ইনপুটটি খালি থাকে, ফলাফল i-1 হয়; আইপি নীচে থেকে বাম দিকে ঘুরছে ?, /ডানদিকে ডানদিকে চাপছে এবং নীচের আদেশগুলি দিয়ে যাচ্ছে:

  • ; - শীর্ষ আইটেমটি পপ করুন (-1)।
  • # - স্ট্যাকের দৈর্ঘ্যটি পুশ করুন।
  • t- শীর্ষস্থানীয় আইটেমটি পপ করুন এবং স্ট্যাকের সেই সূচীতে আইটেমটি পান। এটি নীচের আইটেমটি টান দেয়।
  • - - বিয়োগ
  • O - পূর্ণসংখ্যা হিসাবে আউটপুট।
  • /- আইপি ডিফল্ট করে @, যা প্রোগ্রামটি শেষ করে।

3

সি #, 22 বাইট

s=>s[s.Length-1]-s[0];

পরীক্ষার কেস সহ সম্পূর্ণ উত্স কোড:

using System;

namespace StringCumulativeSlope
{
    class Program
    {
        static void Main(string[] args)
        {
            Func<string,int>f= s=>s[s.Length-1]-s[0];
            Console.WriteLine(f("Hello World!"));
        }
    }
}

লিনিকিউ, 17 বাইট সহ সি #

লিনকিউ ব্যবহার করে একটি সংক্ষিপ্ত সংস্করণ, এইচএসটিডি ধন্যবাদ :

s=>s.Last()-s[0];

তবে অতিরিক্ত আমদানি করা দরকার:

using System.Linq;

2
s=>s.Last()-s[0];কেবল 17 বাইট হবে
hstde

3

রুবি, 23 বাইট

->s{s[-1].ord-s[0].ord}

মত একটি ভেরিয়েবল বরাদ্দ করুন f=->s{s[-1].ord-s[0].ord}এবং কল কল করুনf["Hello World!"]

টেলিস্কোপিক সিরিজ সম্পর্কে ডেনিসের পর্যবেক্ষণ ব্যবহার করে।


আপনার আউটপুট মুদ্রণের দরকার নেই, কেবল এটি ফেরত দিন, যাতে আপনি পরিত্রাণ পেতে পারেন $><<
জর্দান

1
হ্যাঁ, আমি প্রশ্নটিও পড়েছি। ভাগ্যক্রমে, "আউটপুট" এর সংজ্ঞা সম্পর্কে বিস্তৃত sens কমত্য রয়েছে (এটি দেখুন: এই পৃষ্ঠায় অনেকগুলি উত্তর যা কোনও মান মুদ্রণের পরিবর্তে ফিরে আসে)। কিন্তু আরে, এটা আপনার কোড।
জর্দান

2

রেটিকুলার, 12 বাইট

idVc~@qVc-o;

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

ডেনিসের পর্যবেক্ষণ ব্যবহার করে , আমরা পুনরাবৃত্তি প্রক্রিয়াটিকে আরও সহজ করে তুলতে পারি।

idVc~@qVc-o;
i             take input
 d            duplicate
  V           pop input copy, push last character
   c          get its char code
    ~         put it under the input in the stack
     @q       reverse the item at the top of the stack
       V      get the last item of that (first item of input)
        c     convert to char
         -    subtract
          o   output
           ;  and terminate

2

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

-aপতাকাটির জন্য ৪৪ বাইট কোডের প্লাস তিন বাইট , যা এএসসিআইআই ইনপুট সক্ষম করে (তবে দশমিক আউটপুট How কী সুবিধাজনক:

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

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

এই বেশী একটি সামান্য , আমার অন্যান্য জবাব চেয়ে কঠিন বিট হা হা। এর মধ্য দিয়ে চলতে দিন।

{           While the top of the stack is nonzero:
 (            Push:
  [{}]          The top of the stack times negative one. Pop this off.
  ({})          Plus the value on top of the stack, which is duplicated to save for later.
  <>          On to the other stack
 )
 <>         Move back to the first stack
}
<>          After the loop, move back again.
{}          We have one extra element on the stack, so pop it
([]<>)      Push the height of the alternate stack back onto the first stack
{           While the top of the stack is nonzero:
 ({}[()])     Decrement this stack
 <>           Move back to the alternate stack
 ({}{})       Sum the top two elements
 <>           Move back tothe first stack
}
<>          Switch back to the stack holding the sum


2

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

@c$)@[-

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

ব্যাখ্যা

@c        Convert "Hello World!" to [72,101,108,108,111,32,87,111,114,108,100,33]
  $)      Circular permute right: [33,72,101,108,108,111,32,87,111,114,108,100]
    @[    Take a prefix of the list
      -   Subtract

যেহেতু বিয়োগ কেবল দুটি পূর্ণসংখ্যার ইনপুট জন্য কাজ করে, নির্বাচিত উপসর্গটি একবার হলে এটি সফল হবে [33, 72]



2

আর, 69 43 32 বাইট

একটি খুব অ-প্রতিদ্বন্দ্বিতামূলক উত্তর যদিও আমি ভেবেছিলাম যে আর এর কোনও সম্ভাব্য সমাধানটি প্রদর্শন করতে মজা হবে।

sum(diff(strtoi(sapply(strsplit(readline(),"")[[1]],charToRaw),16L)))

এই উত্তরটি একমাত্র আকর্ষণীয় দিক ব্যবহার sapplyএবং charToRaw। প্রথমে আমি স্ট্রিংগুলিকে অক্ষরগুলির একটি ভেক্টরে বিভক্ত করি যা আমি এর ASCII পূর্ণসংখ্যার উপস্থাপনায় রূপান্তর করতে চাই। charToRawফাংশন আর এবং পরিবর্তে উপরোক্ত ভেক্টর আমি ব্যবহারে প্রতিটি মান উপর লুপিং এর ভেক্টরকৃত নয় sapplyযা কার্যকরভাবে ফাংশন vectorizes। পরবর্তী সময়ে প্রথম পার্থক্য নিন এবং তারপরে যোগফল দিন।


সম্পাদনা: সারণীটি charToRawভেক্টরে রূপান্তরিত হয়েছে যেখানে প্রতিটি উপাদান প্রতিটি চরিত্রের কাঁচা উপস্থাপনা, সুতরাং ব্যবহারের প্রয়োজন নেই strsplitএবংsapply

sum(diff(strtoi(charToRaw(readline()),16)))

সম্পাদনা 2: আরও একটি ভাল উপায় রয়েছে তা সক্রিয় করে, ফাংশনটি utf8ToInt(x)ঠিক তাই করে strtoi(charToRaw(x),16)যার অর্থ আমরা আরও কয়েকটি বাইট সংরক্ষণ করতে পারি (আইডিয়া @ rturnbull এর অন্য প্রশ্নের উত্তর থেকে নেওয়া ):

sum(diff(utf8ToInt(readline())))

2

পার্ল, 19 বাইট

এর জন্য +1 অন্তর্ভুক্ত -p

চূড়ান্ত নিউলাইন ছাড়াই STDIN এ ইনপুট দিন

echo -n "Hello World!" | slope.pl; echo

slope.pl:

#!/usr/bin/perl -p
$_=-ord()+ord chop

আপনি যদি নিশ্চিত হন যে ইনপুট স্ট্রিংটিতে কমপক্ষে 2 টি অক্ষর রয়েছে তবে এই 17 বাইট সংস্করণটিও কাজ করে:

#!/usr/bin/perl -p
$_=ord(chop)-ord

2

নোডজেএস, 82 বাইট

x=process.argv[2],a=[],t=0;for(y in x)a[y]=x.charCodeAt(y),t+=y!=0?a[y]-a[y-1]:0

ব্যাখ্যা:

x = process.argv[2] // Get the input
a=[], // Initializes an array to store the differences' values.
t=0;  // Initializes a variable to store the total of the differences
for(y in x) // Iterates over the string as an array of characters
    a[y]=x.charCodeAt(y) // Transforms the input into an array of integers
    t+=y!=0?a[y]-a[y-1]:0 // Add the difference of the last two characters, except at the first iteration

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

f=x=>{a=[],t=0;for(y in x)a[y]=x.charCodeAt(y),t+=y!=0?a[y]-a[y-1]:0;return t}

আর্গুমেন্টের পরিবর্তে ফাংশন ইনপুট সহ উপরের মত একই ধারণা।


দুঃখিত, তবে আপনি অনুমান করতে পারবেন না যে xইনপুট। আপনার আসলে ইনপুট পেতে হবে।
Rɪᴋᴇʀ

এটি কি এভাবে কাজ করে?
অ্যালেক্সিস_এ

হ্যাঁ, এটি দুর্দান্ত কাজ করে!
Rɪᴋᴇʀ

1
ইনপুট পাওয়ার আরেকটি গ্রহণযোগ্য উপায় হ'ল একটি ফাংশন তৈরি করা। উদাহরণস্বরূপ f=x=>{...;return t}2 বাইট সংরক্ষণ করুন;)
জোয়েটউইডল

2

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

f=
     s=>s[x='charCodeAt'](s.length-1)-s[x]();
;

console.log(f.toString().length);      // 39
console.log(f('Hello World!'))         // -39

টেলিস্কোপের অঙ্কগুলি সম্পর্কে @ ডেনিস পর্যবেক্ষণ ব্যবহার করে।

আমি মনে করি এই ক্ষেত্রে তুচ্ছ সমাধানটি সবচেয়ে কম।

charCodeAt@ নীলের পরামর্শ অনুসারে পুনরাবৃত্তি থেকে মুক্তি পেয়ে 3 বাইট সংরক্ষণ করা হয়েছে।


সেরাটি আমি করতে পারি s=>s.slice(-1).charCodeAt()-s.charCodeAt()যা একই দৈর্ঘ্যে পরিণত হয়।
নীল

আসলে charCodeAtবেশ দীর্ঘ, সম্ভবত পুনরাবৃত্তি এড়িয়ে বাইট সংরক্ষণ করার উপায় আছে।
নীল

@ নীল পরামর্শের জন্য ধন্যবাদ, এটি আমাকে 3 বাইট সংরক্ষণ করেছে।
Lmis

সামান্য পুনরাবৃত্তির পন্থা কয়েক বাইট দীর্ঘ:f=s=>(s[1]?-f(s.slice(-1)):0)-s.charCodeAt()
ETH প্রোডাকশন

2

চতুর্থ, 28 বাইট

: f depth 1- roll swap - . ;

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

যদি প্রতিটি চরিত্র বিপরীত ক্রমের পরিবর্তে স্ট্যাকের দিকে ঠেলে দেওয়া হয় তবে প্রোগ্রামটি 2 বাইট সংক্ষিপ্ত হবে। এটি অনুমোদিত কিনা তা নিশ্চিত নন, যদিও সাধারণত আপনি বিপরীত ক্রমে যুক্তিগুলিকে চাপ দেন।

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

এভাবে ডাকা:

33 100 108 114 111 87 32 111 108 108 101 72 f

2

জাভা, 42

int f(char[]c){return c[c.length-1]-c[0];}

Ungolfed:

  int f(char[] c) {
    return c[c.length - 1] - c[0];
  }

ব্যাখ্যা:

এটি টেলিস্কোপিংয়ের মতো একই নীতি ব্যবহার করে:

sum =
  c[4] - c[3]
+        c[3] - c[2]
+               c[2] - c[1]
+                      c[1] - c[0]
= c[4]                      - c[0]

দৈর্ঘ্যের অক্ষরের যে কোনও ক্রমের জন্য সাধারণীকরণ করা হয়েছে n, উত্তরটি হ'ল c[n-1] - c[0]মাঝখানে সমস্ত জিনিস বাতিল হয়ে যায়।


2

পিএইচপি 7.1, 33 31 বাইট

পিএইচপি 7.1 এ প্রয়োগ করা নেতিবাচক স্ট্রিং অফসেট ব্যবহার করে ।

echo ord($argn[-1])-ord($argn);

এভাবে চালান:

echo 'Hello World!' | php -nR 'echo ord($argn[-1])-ord($argn);';echo

বদলান

  • ব্যবহার করে 2 বাইট সংরক্ষণ করা হয়েছে $argn

1

আরপিগ্রন , 142 বাইট, অ-প্রতিযোগিতামূলক

function tostack 'b' asoc stack 'a' asoc 0 'v' asoc b pop byte 'o' asoc b len while [ v o b pop byte ] 'o' asoc - + 'v' asoc b len end [ v end

এই প্রতিদ্বন্দ্বিতার সন্ধানের পরে 'টোস্ট্যাক' কমান্ড যুক্ত হওয়ায় প্রতিদ্বন্দ্বিতা করা হয়নি, (যদিও এটিতে একটি ভয়ঙ্কর বাইট গণনা রয়েছে)

পরীক্ষার কেস

Hello, World!
-39

Cool, huh?
-4

ব্যাখ্যা

function                        # Push the function between this and end to the stack
    tostack 'b' asoc            # Convert the implicit input to a stack, associate it with 'b'
    0 'v' asoc                  # Push 0 to the stack, associate it with 'v'
    b pop byte 'o' asoc         # Pop the top value of b (The end of the input), get the byte value, associate it with 'o'.
    b len                       # Push the size of b to the stack
    while [                     # While the top of the stack is truthy, pop the top of the stack
        v                       # Push v to the stack
            o                   # Push o to the stack
            b pop byte          # Pop the top value of b, push the byte value of that to the stack
            ] 'o' asoc          # Push a copy of the top of the stack, associate it with 'o'
            -                   # Subtract the top of the stack from one underneith that, In this case, the old value of o and the byte.
        +                       # Sum the top of the stack and underneith that, that is, the difference of the old value and new, and the total value
        'v' asoc                # Associate it with 'v'
        b len                   # Push the size of b to the stack (which acts as the conditional for the next itteration)
    end [                       # Pop the top of the stack, which will likely be the left over size of b
    v                           # Push the value of v to the top of the stack
end                             # Implicitely returned / printed

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

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


"সামান্য কিছু পরিমাণে চিনির" রূপ নিয়েছিল কয়েক মাসের মধ্যে। এই পুরো জিনিসটি এখন ~{bid☼[+এবং এটি কিছুটা আরাধ্য।
এটাকো

1

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

<?=ord(strrev($s=$argv[1]))-ord($s);
  • প্রথম এবং শেষের প্রতিটি অক্ষর প্রতিটি একবার যুক্ত এবং বিয়োগ করা হয়।
    Differences পার্থক্যের যোগফল == প্রথম এবং শেষ অক্ষরের পার্থক্য
  • ord()পিএইচপি ইন স্ট্রিংয়ের প্রথম চরিত্রটিতে কাজ করে
    → এটিকে একটি একক অক্ষরে স্পষ্টভাবে হ্রাস করার প্রয়োজন নেই

1

ব্রেন-ফ্লাক , 34 32 + 3 = 35 বাইট

+3 -aআস্কি মোডের জন্য প্রয়োজনীয় পতাকাটির কারণে ।

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

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

আশ্চর্যজনকভাবে এটি শেষ থেকে প্রথমে বিয়োগের "কৌশল" এর পরিবর্তে চশমাগুলিতে ব্যবহৃত সংজ্ঞাটি ব্যবহার করা আরও দক্ষ।

এটি ঠিক তা করে কাজ করে।

(                           )  Push
 ([][()]){[{}]...([][()])}     While the stack has more than one item
  [{}]({})                     Subtract the top from a copy of the second
                          <>   Switch

1

সিজেম , 8 5 বাইট

3 টি বাইট সরিয়ে দুটি পরামর্শের জন্য ডেনিসকে বড় ধন্যবাদ

l)\c-

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

ব্যাখ্যা

সর্বশেষ মান বিয়োগের প্রথম মান গণনা করে।

l        e# Read line as a string
 )       e# Push original string except last char, then last char
  \      e# Swap
   c     e# Convert to char: gives the first element of the string
    -    e# Subtract. Implicitly display

আপনি যদি এর )পরিবর্তে ব্যবহার করেন তবে আপনার W=প্রয়োজন হবে না _। এছাড়াও, এর cশর্টকাট হিসাবে 0=
ডেনিস

@ ডেনিস অনেক ধন্যবাদ!
লুইস মেন্ডো

1

হাস্কেল, 36 বাইট

sum.(tail>>=zipWith(-)).map fromEnum

ব্যবহার:

Prelude> (sum.(tail>>=zipWith(-)).map fromEnum)"Hello World!"
-39


হাস্কেল (ল্যাম্বডাবোট), 31 বাইট

sum.(tail>>=zipWith(-)).map ord

আমি আশঙ্কা করছি এটি একটি সঠিক কাজ নয়। এটি কেবল একটি স্নিপেট। sum.(tail>>=zipWith(-)).map fromEnumউদাহরণস্বরূপ একটি ফাংশন।
নিমি

@ নিমিমি প্রশ্নটি কোনও সঠিক কার্যকারিতা চেয়েছিল না
ব্ল্যাকক্যাপ

প্রশ্নটি কোনও কিছুর জন্য জিজ্ঞাসা করা হয়নি, সুতরাং খেলাপিগুলি পূর্বনির্ধারিতভাবে লাফিয়ে যায় যা পুরো প্রোগ্রাম বা ফাংশন, তবে স্নিপেট নয়
নিমি

1

Zsh , 22 বাইট

c=${1[-1]}
<<<$[#1-#c]

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

পাটিগণিত মোডে #nameপ্রথম অক্ষরের অক্ষর কোড পায় name। আমরা cশেষ চরিত্রটিতে সেট করেছি এবং প্রথম এবং শেষ কোডগুলির মধ্যে পার্থক্য নিয়েছি ।




0

জাভা 7, 100 96 বাইট

int c(String s){char[]a=s.toCharArray();int r=0,i=a.length-1;for(;i>0;r+=a[i]-a[--i]);return r;}

অবরুদ্ধ এবং পরীক্ষার কোড:

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

class M{
  static int c(String s){
    char[] a = s.toCharArray();
    int r = 0,
        i = a.length-1;
    for(; i > 0; r += a[i] - a[--i]);
    return r;
  }

  public static void main(String[] a){
    System.out.println(c("Hello World!"));
  }
}

আউটপুট: -39


0

Clojure, 31 বাইট

#(-(int(last %))(int(first %)))

কেউ ইতিমধ্যে একক ক্রিয়াকলাপে কাজটি হ্রাস করেছেন।

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