অঙ্কগুলি এবং সংখ্যার বিপরীত যুক্ত করা


26

একটি নম্বর দেওয়া হয়েছে> ০, সমস্ত অঙ্কের যোগফল আউটপুট করুন (১ .. এন) সংক্ষিপ্ত এবং বিপরীত এবং সেগুলি যুক্ত করুন। উদাহরণস্বরূপ, এন = 6 সহ:

1 থেকে 6 নম্বরগুলি সম্মিলিত:

123456

বিপরীত:

654321

এগুলি একসাথে যুক্ত করার ফলস্বরূপ: 777777. অন্য একটি উদাহরণ হ'ল এন = 11:

1 2 3 4 5 6 7 8 9 10 11 > 1234567891011

এবং

11 10 9 8 7 6 5 4 3 2 1 > 1110987654321

এগুলিকে একসাথে যুক্ত করলে ফলাফল হবে 2345555545332। এটি A078262 নামেও পরিচিত ।

সবচেয়ে কম কোড জয়!



কোন আবদ্ধ আছে n, বা আমাদের নির্বিচারে বড় পূর্ণসংখ্যার সমর্থন করতে হবে?
LegionMammal978

আমি মনে করি ডিফল্টটি "সীমাবদ্ধ max(256,yourlanguagesdefaultintegertypelimit)"। তবে এটি নির্দিষ্ট করা উচিত।
ক্যালকুলেটরফলাইন

@ LegionMammal978 আপনার ভাষা যতটা সমর্থন করে।
লামারো

গুরুত্বপূর্ণ পরীক্ষার কেস:, 10যা দেওয়া উচিত 23333333231
আদনান

উত্তর:


9

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

LDRJsJ+

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

ব্যাখ্যা

LDRJsJ+

L        range from 1 .. input
 D       duplicate
  R      reverse
   JsJ   convert both arrays to strings
      +  add (coerces both strings to ints)

আমি নকশার পছন্দ দ্বারা খুব বিভ্রান্ত বোধ করি যা +নেস্টেড সংযোজন করে তালিকাগুলিতে নিয়ে যায়, যখন স্ট্রিংগুলির জন্য এটি ইনসে রূপান্তরিত হয় এবং এর পরে যুক্ত হয়। তবে আমার ধারণা এখানে এটি কার্যকর হয়েছে! : পি
FryAmTheEggman

পুনঃটুইট করুন আমি এটি প্রয়োগ করার মুহুর্ত থেকে এটি কখনও কার্যকর হয়নি ...
আদনান

3
শীশ, আমি পিপিসিজি দুই ঘন্টা রেখেছি এবং আমি চলে যাওয়ার সময় আপনি নিজেকে অ্যাকোয়া টার্টের নামকরণ করেছেন ... ওহ, পিপিসিজি ব্যবহারকারীর জীবন।
ETH প্রোডাকশন

6

জেলি, 9 বাইট

R,U$DF€ḌS

livecoding 


2
এটি কি আমি বা আমি কী কোডটি গোপনে কিছু ইউ $ ডি চুরি করে দেখছি?
gcampbell

5

সিজেম, 15 14 বাইট

বাইট শেভ করার জন্য মার্টিনকে ধন্যবাদ!

ri,:)_W%si\si+

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


আপনি যদি সংখ্যার অ্যারের পরিবর্তে স্ট্রিংটি ফ্লিপ করেন তবে 1 বাইট কম:ri,:)s_W%i\i+
লুইস মেন্ডো

দুঃখিত, আমি মনে করি আমার সংস্করণটি কাজ করে না10
লুইস মেন্ডো

1
এই কোডটি গোপনে খুশি। :)
সাইয়েস

4

পাইথ, 12 10 বাইট

ssMjLk_BSQ

@ ফ্রাইআমডেজিগম্যানকে 2 বাইটের জন্য ধন্যবাদ !

Qইনপুট, হয় Sতা সক্রিয় [1, 2, ..., input()], _Bদ্বিখণ্ডিত এটি উপর _(রিভার্স) তৈরি করতে [rng, rev(rng)], jLkএটি উপর মানচিত্র joinদ্বারা k(যা "খালি স্ট্রিং" পরিবর্তনশীল), sMমানচিত্র intউপর এই ফলের অ্যারে, এবং sপরিশেষে সমষ্টি হিসাব করে।


4

জাভাস্ক্রিপ্ট (ES6), 70 67 64 বাইট

a=>(z=[...Array(a)].map((b,c)=>c+1)).join``- -z.reverse().join``

প্রয়োজনীয়তা পূরণের জন্য স্থির, কারণ পুরাতন কোডটি ইনপুটটির ভুল বোঝাবুঝিতে তৈরি করা হয়েছিল।


@ টিমমিডি একটি ব্যাখ্যা যুক্ত করেছে।
Mwr247

@ টিমিমিডি ওহ! > _ <আমার চ্যালেঞ্জ সম্পর্কে ভুল ধারণাটি কীভাবে ... হ্যাঁ, আমাকে এটি ঠিক করতে হবে।
Mwr247

@ টিমিমিডি আমাকে অনলাইনে ফিরে আসতে যথেষ্ট সময় নিয়েছিল। এটি এখনই স্থির হয়েছে, এবং এটি ধরার জন্য ধন্যবাদ।
Mwr247

অন্য উত্তরের জন্য যেমন উল্লেখ করা হয়েছে, এটি কেবল তখনই কাজ করে যদি প্যারামিটারটি 1 থেকে 12 এর মধ্যে হয় তবে এটি খুব সামান্য
edc65

@ edc65 প্রতি ওপির মন্তব্য , এটি যথেষ্ট বড়।
Mwr247

3

পাইথন 3, 74

ডিএসএমকে ধন্যবাদ 6 বাইট সংরক্ষণ করা হয়েছে।

খুব উত্তেজনাপূর্ণ কিছুই নয়, রেঞ্জগুলিতে যোগদান করুন এবং তারপরে ইনসে রূপান্তর করুন এবং সেগুলি যুক্ত করুন।

lambda x:sum(int(''.join(list(map(str,range(1,x+1)))[::i]))for i in(1,-1))

3

রেটিনা , 71

কারণ এটি স্পষ্টতই কাজের জন্য ভুল সরঞ্জাম।

.+
$*a:$&$*
+`^(a+)a\b(.*)\b1(1+)$
$1 $& $3
 ?(\w)+ ?
$#1
\d+:?
$&$*c
c

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

ইনপুটগুলির জন্য 6 পর্যন্ত কাজ করে তবে অনলাইনে অনুবাদক তার পরে সময় শেষ করে।


1
আপনি শেষ লাইন অপসারণ এবং পরিবর্তন করে 74 থেকে এটি খাটো করতে পারেন (c)+থেকে c
দাভকো

হ্যাঁ, অবশ্যই ধন্যবাদ!
ডিজিটাল ট্রমা

এছাড়াও, $&$*c-> $*cএবং \d+:?-> \d+এবং এটি 70. এবং কিছু কারণে এটা কাজ রাখে ...
daavko

3

জल्फ, 9 বাইট

এখানে চেষ্টা করুন! সঙ্গে প্রতিস্থাপন \x10

+P►γzjP_γ
    zj    range 1...j
   γ      γ = ^
  ►        ^ .join("")
 P         as a number
+     P_γ  and γ reversed

আমি পারে টাইপ ঢালাই চলন্ত কাছাকাছি দ্বারা এটি গলফ করতে সক্ষম হবেন।


আপনি পাইথ এবং ডোরকনবকে মারলেন!
সাইয়েস

@ কয়েস তাই আমি ও_ও করেছি
কনর ও'ব্রায়েন

3

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

n=>(a=[...Array(n+1).keys()].slice(1)).join``- -a.reverse().join``

হ্যাঁ, এটি একটি স্থান। বিতৃষ্ণা। কমপক্ষে @ ডাউনগোট আমাকে একটি বাইট সংরক্ষণ করতে সহায়তা করেছিল।


1
আপনি প্রথমটি সরাতে +পারেন এবং + +-> - -বাইট সংরক্ষণ করতে -
ডাউনওয়েট

n => (a = [... অ্যারে (n)]। মানচিত্র (_ => n -)) join যোগদান করুন- -a.reverse().join
এডসি 65

দ্রষ্টব্য: সরল জেএস গণিত ব্যবহার করা এটি 1 মানগুলিতে সীমাবদ্ধ
edc65


2

পাওয়ারশেল, 35 বাইট

param($a)+-join(1..$a)+-join($a..1)

ইনপুটটিকে ব্যাপ্তিগুলিতে রেঞ্জগুলিতে রূপান্তর করে .., তারপরে -joinতাদের একসাথে করুন এবং তাদের যোগ করুন।

আপ ইনপুট সংখ্যার জন্য কাজ করবে 138, যখন 139দেব Infinity, এবং 140এবং উপরে একটি awesomely বাগাড়ম্বরপূর্ণ ভোটদান ত্রুটি আউট বমি করার হবে:

Cannot convert value "12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413
5136137138139140" to type "System.Int32". Error: "Value was either too large or too small for an Int32."


2

জাভাস্ক্রিপ্ট (ES6), 99

এটি অঙ্ক দ্বারা অঙ্ক যোগ করে, তাই এটি জাভাস্ক্রিপ্টের নির্ভুলতার 53 বিটের উপরে সংখ্যাগুলি ভালভাবে পরিচালনা করতে পারে

n=>eval("for(a=b=c=r='';n;a+=n--)b=n+b;for(i=a.length;i--;r=c%10+r)c=(c>9)-(-a[i]-b[i]);c>9?1+r:r")

পরীক্ষা

f=n=>eval("for(a=b=c=r='';n;a+=n--)b=n+b;for(i=a.length;i--;r=c%10+r)c=(c>9)-(-a[i]-b[i]);c>9?1+r:r")

// Less golfed
U=n=>{
  for(a=b=c=r=''; n; --n)
      b=n+b, a+=n;
  for(i=a.length; i--; r = c%10+r) 
      c=(c>9)-(-a[i]-b[i]);
  return c>9? 1+r : r;
}

function test() {
  var n=+I.value
  R.textContent=f(n)
}  

test()
N: <input id=I value=11 oninput="test()"> -> <span id=R></span>


9 এর জন্য কাজ করছে বলে মনে হচ্ছে না এছাড়াও, cঅন্যান্য ভেরিয়েবলগুলির সাথে কেন আরম্ভ করবেন না ?
নিল

আপনি আমার উপন্যাস আছে।
নিল


2

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

:tP2:"wVXvU]+

সম্পাদনা (20 মে, 2016) লিঙ্কের কোডটি পরিবর্তিত হয়েছে ভাষা পরিবর্তনের কারণে XzinsteadXv

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

:                % range [1,2,...,n], where n is input
 tP              % duplicate and flip
   2:"     ]     % do this twice
      w          % swap
       V         % convert array of numbers to string with numbers and spaces
        Xv       % remove spaces
          U      % convert to number
            +    % add the two numbers

11 বা 10 এর জন্য কাজ করে না (ইঙ্গিত: স্ট্রিংয়ে রূপান্তরিত করার আগে বিপরীত পরিসীমা))
মামা ফান রোল

@ ӍѲꝆΛҐӍΛПҒЦꝆ ধন্যবাদ! সংশোধন করা হয়েছে
লুইস মেন্ডো

গ্রেট! একটি upvote আছে।
মামা ফান রোল



1

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

{([~] @_=1..$^n)+[R~] @_}
{
  (
    [~]           # reduce with the string concatenation infix op:
    @_ = 1 .. $^n # the range 1 to input ( also stored in @_ )
  )
  +               # add that to
  [R~] @_         # @_ reduced in reverse
}

ব্যবহার:

for 6, 11, 12 -> $n {
  say {([~] @_=1..$^n)+[R~] @_}( $n )
}
777777
2345555545332
244567776755433

আমার মনে হয় আপনি করতে পারেন $nপরিবর্তে$^n
andlrc

@ দেব-নাল যদি আমি এটি ব্লকের একটি ইনপুট হতে চাই না Not -> $n {একটি ভিন্ন এক $^n
ব্র্যাড গিলবার্ট 222

1

আর, 34 60 64 বাইট

f=pryr::f;g=f(as.numeric(paste(x,collapse='')));f(g(1:n)+g(n:1))

অনুমান pryrপ্যাকেজ ইনস্টল করা আছে। এটি fফাংশন তৈরির জন্য শর্টহ্যান্ড দেয় gives

সম্পাদনাটিতে 26 বাইট যুক্ত হয়েছে তবে এমন কোনও ফাংশন দেয় যা পুরোপুরি ভুল কিছু নয়।

সম্পাদনা n = 10 এর উপরে কেসগুলি পরিচালনা করতে আরও 4 বাইট যুক্ত করেছে যেখানে স্ট্র্টোই (পূর্বে ব্যবহৃত) ফিরে আসছিল NA


1

লুয়া, 57

a=''b=''for i=1,...do a=a..i b=b.. ...-i+1 end return a+b

1

লুয়া, 53 বাইট

এই প্রোগ্রামটি nএকটি কমান্ড-লাইন আর্গুমেন্ট হিসাবে গ্রহণ করে ।

s=""r=s for i=1,arg[1]do r,s=i..r,s..i end print(s+r)

আমি ধরে নিয়েছি যে 0 এর দশমিক অংশ সহ একটি সংখ্যা 777777.0আউটপুট করা ঠিক ছিল (আকারে কারণ এটি লুয়াতে কোনও সংখ্যা আউটপুট করার জন্য ডিফল্ট উপায় (পূর্ণসংখ্যা এবং ভাসমানের মধ্যে কোনও পার্থক্য নেই)


এটি নিজেই উল্টানো স্ট্রিং নয়, অঙ্কগুলি। আপনার কোডটি এন> = ১০ এ ব্যর্থ হয়েছে
মোপ

@ মোপ 1 বাইট ^^ 'এর দামে সংশোধন করেছেন। মন্তব্যের জন্য ধন্যবাদ ^^ '
ক্যাটেনকিও

আপনি আর তিনটি ব্যবহার করে বাঁচাতে পারবেন ... আরগের পরিবর্তে [1] আর এর জন্য বিপরীত কনকমেট উপর দুর্দান্ত কাজ, আমার উত্তরে সে সম্পর্কে ভাবেন নি। +1
মুপ

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

1

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

25 বাইট, আরও 1 -pএবং 11 এর জন্য-MList::Gen

$_=<[.]1..$_>+<[R.]1..$_>

পূর্ববর্তী সমাধান, 40 বাইট: 39, প্লাস ওয়ান -p

@a=reverse@_=1..$_;$"=$\;$_="@a"+"@_"

1

পার্ল, 36 বাইট

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

এসটিডিনের সাথে চালান

perl -p reverse.pl <<< 6

reverse.pl

$_=eval join"",map{abs||"+"}-$_..$_

1

ডায়ালগ এপিএল , 17 বাইট

+/⍎¨∊¨⍕¨¨x(⌽x←⍳⎕)

এক্স বিপরীত এক্স মধ্যে
ইনপুট
x←স্টোর তালিকা অবধি ইনপুট জন্য গণনা করুন ... মূল তালিকার সাথে বিপরীত তালিকার প্রতিটি পূর্ববর্তী অক্ষরকে প্রতিটি অক্ষর স্ট্রিংয়ে প্রতিটি অক্ষরের স্ট্রিংকে একটি সংখ্যায় দুটি সংখ্যায় রূপান্তরিত করে প্রতিটি তালিকার অক্ষর স্ট্রিংয়ে রূপান্তর করুন ।

x()
⍕¨¨
∊¨
⍎¨
+/



0

রেটিনা, 80 বাইট (আইএসও 8859-1 এনকোডিং)

'+
$0¶$0
+`^(('+)')
$2 $1
+`('('+))$
$1 $2
(')+( |$)?
$#1
(\d+)¶(\d+)
$1$*'$2$*'

আইও 'গণনা চরিত্র হিসাবে একাত্ম হয় । তত্ত্বের ক্ষেত্রে আপনি যে কোনও পূর্ণসংখ্যাকে নিক্ষেপ করেন তা বাস্তবে সমর্থন করে ... অনলাইন দোভাষী pre (অকার্যকর '''''') এর চেয়ে বড় যে কোনও কিছুতে প্রক্রিয়া করতে অস্বীকার করেন ।

এটি অনলাইন চেষ্টা করুন!
এটি অনলাইন চেষ্টা করুন! (দশমিক IO - 91 বাইট)


0

𝔼𝕊𝕄𝕚𝕟, 12 চর / 15 বাইট tes

⨭⟮⩤⁽1ï⟯⨝,Ⅰᴚ⨝

Try it here (Firefox only).

সাধরণ।

ব্যাখ্যা

একটি পরিসর নেয় [1,input], এতে যোগদান করে; একই পরিসীমা নেয়, এটিকে বিপরীত করে, তারপরে যোগ দেয়; উভয় ব্যাপ্তির যোগফলই ফলাফল।



0

সি #, 126 বাইট

using System.Linq;a=>{var b=Enumerable.Range(1,a);return long.Parse(string.Concat(b))+long.Parse(string.Concat(b.Reverse()));}

সম্ভবত আরও গল্ফ করা যেতে পারে। তেমন নিশ্চিত নই.


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