আউটপুট পূর্ণসংখ্যার নেতিবাচক ক্রমে, প্রতিবার সর্বোচ্চ পূর্ণসংখ্যা বাড়ান


44

মূল কাজ

আপনার কাজটি হ'ল 1 থেকে শুরু করে ক্রমসংখ্যাটি মুদ্রণ করা এবং প্রদত্ত ইনপুট না আসা পর্যন্ত আপনি 1 টি আবার আঘাত করতে থাকুন, তারপরে, আপনি আবার 1 টি না চাপানো পর্যন্ত বাকী প্রিন্ট আউট করুন। ইনপুট সহ উদাহরণ 6:

1
21
321
4321
54321
654321
Without newlines (valid output):
121321432154321654321
পার্শ্ব দ্রষ্টব্য: এটি OEIS এ A004736 । এছাড়াও, প্রথম উদাহরণটি (নিউলাইনগুলি সহ) নিয়মগুলিতে নির্দিষ্ট হিসাবে একটি অবৈধ আউটপুট।

ইনপুট

আপনার কোডটি পূর্ণসংখ্যা বা সংখ্যার আকারে যে কোনও ধরণের ইনপুট (গ্রাফিকাল, এসটিডিআইএন) নিতে পারে।

আউটপুট

আপনার কোডটিকে উপরের বর্ণিত ক্রমটি আউটপুট করা উচিত, যতক্ষণ না ইনপুট নম্বরটি না পৌঁছায়, তারপরে আউটপুট শেষ করুন যতক্ষণ না এটি আবার 1 এ পৌঁছায়। আউটপুট যে কোনও কিছু হতে পারে, সুতরাং সংখ্যা, স্ট্রিং, পূর্ণসংখ্যা বা গ্রাফিকাল আউটপুট। এটি একটি একক সংখ্যা মুদ্রণ করা প্রয়োজন (এটি যদি স্ট্রিং হয় তবে কোনও নতুন লাইন নয়)। আপনার আউটপুট আপনার প্রয়োজন হিসাবে অনেক অক্ষর (যেমন []) এর সাথে প্রকাশিত হতে পারে out

যেহেতু কিছু ভুল বোঝাবুঝি হয়েছিল, তাই এখানে একটি রেজিক্স প্যাটার্ন আপনি নিজের আউটপুটগুলি চেষ্টা করতে পারেন।

^(\D*(\d)+\D*)$

বিধি

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

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

Input: 6
Output: 121321432154321654321

Input: 1 Output: 1

Input: 26 Output: 121321432154321654321765432187654321987654321109876543211110987654321121110987654321131211109876543211413121110987654321151413121110987654321161514131211109876543211716151413121110987654321181716151413121110987654321191817161514131211109876543212019181716151413121110987654321212019181716151413121110987654321222120191817161514131211109876543212322212019181716151413121110987654321242322212019181716151413121110987654321252423222120191817161514131211109876543212625242322212019181716151413121110987654321

Input: 0 Output: 0, Empty, or Error

Input: 21 Output: 121321432154321654321765432187654321987654321109876543211110987654321121110987654321131211109876543211413121110987654321151413121110987654321161514131211109876543211716151413121110987654321181716151413121110987654321191817161514131211109876543212019181716151413121110987654321212019181716151413121110987654321

ধন্যবাদ @ এমিগনা, আমি এই পরীক্ষার কেসগুলি গণনা করতে তার অ্যালগরিদম ব্যবহার করেছি।

বিজয়ী

বিজয়ী নির্বাচিত হয়েছে! এটি ছিল এরিক গল্ফারের একটি দুর্দান্ত 5 বাইটের উত্তর ! অভিনন্দন!


The output must be a full number ...আপনি কি পুরো ক্রমটি বোঝেন, বা কেবল ভিন্ন সাবস্ট্রিংগুলি (1, 2-1, 3-1 ...)? আপনার প্রথম উদাহরণটি এই বিবৃতিটির সাথে মেলে না বলে মনে হচ্ছে।
স্টেইনবার্গ

1
যদি আউটপুটটি একক সংখ্যা হতে হয়, তবে এটি "অ্যারে" কীভাবে হতে পারে?
স্মৃতি

এই অ্যারে আউটপুট হিসাবে গ্রহণযোগ্য হবে? [1, 21, 321, 4321, 54321, 654321] এটা কেমন? [1,2,1,3,2,1,4,3,2,1,5,4,3,2,1,6,5,4,3,2,1] বা আপনি কি কেবল একটি একক উপাদান সহ অ্যারে সম্পর্কে কথা বলছেন [121321432154321654321]?
স্মিল্স

1
আমি আউটপুট ফর্ম্যাট সম্পর্কে বিভ্রান্ত। আপনি গ্রহণযোগ্য কি উদাহরণ দিতে পারেন? সংখ্যার অ্যারে? স্পেস দ্বারা পৃথক সংখ্যা সহ স্ট্রিং?
লুইস মেন্ডো

1
আপনার regex এর আউটপুট অনুমতি দেয় mickey321211mouse। সত্যিই \Dঅংশগুলি সেখানে থাকার কোনও কারণ নেই
edc65

উত্তর:


13

জেলি , 5 বাইট

RRUVV

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

সূত্রটি আমার নয়।

আমার সন্দেহ হচ্ছে এখানে অনেক কিছু চলছে ...

[উত্তর স্বীকৃত] আমি ডেনিসকে আরও প্রায় ৫ টি প্রতিনিধি দিয়েছি, তবে এটি খ্যাতি এক্সচেঞ্জ নয়। ডেনিস আমাকে VVআচরণটি দেখিয়েছিল । আমার অবাক করার বিষয়, এটি 05AB1E এর চেয়ে কম।


অভিনন্দন, এই কোডটিতে কোডের ন্যূনতম পরিমাণ রয়েছে!
devRicher


13

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

f=(n,k=1)=>k>n?n--?f(n):'':f(n,k+1)+k

ডেমো

এন <10, 34 বাইট (প্রতিদ্বন্দ্বী) এর বিকল্প পদ্ধতি

f=(n,s='1')=>--n?s+f(n,++s[0]+s):s

জাভাস্ক্রিপ্টে স্ট্রিংগুলি পরিবর্তনযোগ্য নয়। সুতরাং, sকোনও নতুন মান নির্ধারণ করে একটি স্ট্রিংয়ের Nth চরিত্রের বিষয়বস্তু পরিবর্তন করা অসম্ভব s[N]

যাইহোক, অভিব্যক্তিটি ++s[N]বৈধ এবং কোনও স্ট্রিং অপরিবর্তিত থাকলেও তার প্রত্যাশা মতো মূল্যায়ন করে। এই ক্ষেত্রে:

++"1"[0] // equals 2

এবং এক্সটেনশন দ্বারা:

s = "21"
++s[0] + s // equals "321"

এন> 9
edc65

@ edc65 অবশ্যই আপনি ঠিক বলেছেন। আমি জানি না কেন আমি মনে করি 9 টায়
থামলে

12

ভি, 29 28 27 23 19 17 16 বাইট

8 ডি বাইট সংরক্ষিত হয়েছে @ ডিজেএমসিমেহেমে ধন্যবাদ

3 বাইট সংরক্ষিত হয়েছে @ nmjcman101 ধন্যবাদ

"apÀ­ñÄòy$jpkgJ

লুকানো অক্ষর:

"apÀ<C-x>ñÄ<C-x>òy$jpkgJ

C-x Ctrl + x হয়।

এটি অনলাইন চেষ্টা করুন! কমান্ড-লাইন আর্গুমেন্টের মাধ্যমে ইনপুট নেয়

Hexdump:

0000000: 2261 70c0 adf1 c418 f279 246a 706b 674a  "ap......y$jpkgJ

ব্যাখ্যা

"ap            Paste the argument
À<C-x>         Argument minus 1 times (so that we exclude the 0)
ñ ... ò        Loop (for some weird reason the ò closes the ñ)
Ä<C-x>         paste current line above and decrement it

এখন দেখে মনে হচ্ছে:

1
2
...
n

অব্যাহত ...

ò             recursively do (until a breaking error)
y$             yank this line
  jp           paste it down
    kgJ        go up and join
              implicit ò end

জিআইএফ (পুরানো)

(তর্ক করার জন্য 6)

GIF


আমি আপনার লুপটি ক) এ পরিবর্তন করে কিছু পেয়েছি যা òy$jpkgJ
স্পষ্টভাবে

@ nmjcman101 আমাকে 2 বাইট সংরক্ষণ করতে সাহায্য করার জন্য ধন্যবাদ!
ক্রিটিকি লিথোস

এটি বেশ ভাল গল্ফ হয়। আমি 20 মিনিটের জন্য আমার মস্তিষ্কগুলি রেকিং করছি, এবং আমি আরও ছোট কিছু ভাবতে পারি না। :)
ডিজেএমসিএমহেম

@ ডিজেএমসিএমহেম এটি কারণ আমি কিছুটা সাহায্য
পেয়েছিলাম

আমি এটা করেছি! আপনি 16 বাইটে নামতে পারেন। আপনি ARG পেস্ট করুন, এবং তারপর ডুপ্লিকেট / হ্রাস ঊর্ধ্বমুখী করার পরে, এইচ মুছে ফেলার জন্য যদি আপনি আপনার উপর হ্রাস অপারেটর ব্যবহার করুন À, আপনি যাতে আপনি এক্স অপসারণ করতে পারেন উপরের 0 থাকবে না। তারপরে এপিয়ার্টলি এটিকে òবন্ধ করে দেবে ­ñযাতে আপনি দ্বিতীয়টি সরিয়ে ফেলতে পারেন ­ñ(এটি আপনি যে বাইটটি সংরক্ষণ করেন)। লিঙ্ক করুন কারণ এটি কোনও অর্থবহ হয়নি
nmjcman101

11

সি #, 72 69 65 বাইট

n=>{for(int i=0,j;i<n;)for(j=++i;j>0;)System.Console.Write(j--);}

কনসোলটিতে লিখিত হওয়ার বিপরীতে যদি আউটপুটটি কেবল ফেরত দেওয়া যায়

সি #, 71 68 64 বাইট

n=>{var s="";for(int i=0,j;i<n;)for(j=++i;j>0;)s+=j--;return s;}

প্রচুর বাইট সংরক্ষণ করার জন্য @ ভিজুয়ালমেলনকে ধন্যবাদ

এটি এখানে পরীক্ষা করুন (হাস্যকরভাবে অনলাইন সংকলক 420 এর উপরে যে কোনও সংখ্যায় বিরতি দেয়)


এটা সত্যিই দ্রুত ছিল।
devRicher

@ দেবরিচার আমি কী বলতে পারি, আমি কিছু পোস্ট হওয়ার জন্য অপেক্ষা করছিলাম: পি
অ্যালফি গুডাক্রে

2
সি # কোড গল্ফে কিছুক্ষণ লুপ ব্যবহার করার কারণ নেই, একটি ফর্ম-লুপ আরও ভাল না হলে সর্বদা পাশাপাশি সঞ্চালন করবে। এই ক্ষেত্রে, আপনি j=1ফর-লুপের অ্যাসাইনমেন্টটি অন্তর্ভুক্ত করতে পারেন এবং একটি অর্ধ-কোলন সংরক্ষণ করতে পারেন । সংরক্ষণ করতে, আপনি jবরাবর ঘোষণা করতে পারেন । এছাড়াও সরানো যাবে না একটি বাইট সংরক্ষণ নিয়োগ। আপনি যদি এর পরিবর্তে এটি তৈরি করেন এবং শুরু করেন তবে এর সাথে প্রতিস্থাপন করতেও সক্ষম হওয়া উচিত । iinti++j=ii<=ni<nj=++ii0
ভিজুয়ালমেলন

@ ভিজুয়ালমেলন এটি সম্পাদনা করেছে, 3 বাইট সংরক্ষণ করেছে! ইনটগুলি একসাথে ঘোষণা করা আসলে বাইট গণনাটিতে কোনও পার্থক্য করেনি তবে এটি
লুপগুলিকে

@ আলফি গুডাক্রে যদি আপনি লুপের জন্য তাদের একসাথে ঘোষণা করেন, তবে আপনি আরও 2 বাইট সংরক্ষণ করতে পারবেন for(int i=0,j;i<n;);) {}লুপের জন্য অভ্যন্তরের আশেপাশের কোনও প্রয়োজন নেই ।
ভিজ্যুমেলন

8

খাঁটি বাশ, 34

eval eval printf %s \\{{1..$1}..1}

ধনুর্বন্ধনী প্রসারণের দুটি স্তর। ইনপুট সহ 6, প্রথম স্তরটি প্রসারিত হয় {1..1} {2..1} {3..1} {4..1} {5..1} {6..1}। এরপরে এটি প্রসারিত হয় 1 2 1 3 2 1 4 3 2 1 5 4 3 2 1 6 5 4 3 2 1যা এক স্ট্রিংয়ের সাথে একত্রে মিশ্রিত হয় printf %sevalউভয় স্তরের সম্প্রসারণের প্রয়োজন - প্রথম স্তরের জন্য $1প্যারামিটারটি প্রথমে প্রসারিত করা হয় এবং দ্বিতীয় স্তরের জন্য যাতে এটি প্রথম স্তরের পরে প্রসারিত হয়।

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


8

পার্ল, 21 বাইট

-Eকোনও অতিরিক্ত ব্যয় ছাড়াই ব্যবহার করে।

say map$}=$_.$},1..<>

ব্যবহার

perl -E 'say map$}=$_.$},1..<>' <<< 6
121321432154321654321

7

পাইথ, 7 বাইট

jks}R1S

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

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

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

jks}R1S   Program. Input: Q
jks}R1SQ  Implicit input fill
    R     Map
      SQ  over [1, 2, 3, 4, ..., Q] with i:
   } 1     Yield [i, i-1, i-2, i-3, ..., 1]
  s       Merge
jk        Join
          Implicitly print

ব্যক্তিগতভাবে আমি খুব হতাশ যা jk_hC.:Sদীর্ঘ, তবে দুর্দান্ত কাজ!
FryAmTheEggman

7

জিওজেব্রা , 67 বাইট

1
InputBox[a]
Sum[Join[Sequence[Sequence[Text[j],j,i,1,-1],i,1,a]]]

প্রতিটি লাইন পৃথকভাবে ইনপুট বারে প্রবেশ করানো হয়। ইনপুটটি একটি ইনপুট বাক্স থেকে নেওয়া হয়।

এখানে মৃত্যুদন্ড কার্যকর করার একটি জিআইএফ:

প্রোগ্রাম কার্যকর

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

প্রবেশ 1পরোক্ষভাবে নির্ধারণ aকরতে 1, এবং InputBoxআদেশের সঙ্গে একটি ইনপুট বক্সে সহযোগীদের a। এর পরে, প্রতিটি iমধ্যে {1, 2, 3, ..., a}তালিকা {i, i-1, i-2, ..., 1}ব্যবহার করে তৈরি করেছেন Sequenceকমান্ড, এবং প্রতিটি jযে তালিকায় ব্যবহার করে একটি স্ট্রিং রূপান্তরিত হয় Text। অবশেষে, Joinসমস্ত তালিকা একত্রিত করে এবং Sumসমস্ত উপাদানকে একটি পাঠ্য অবজেক্টে সংযুক্ত করে, যা প্রদর্শিত হয়।


@ DevRicher এটি যুক্তিসঙ্গত বলে মনে হচ্ছে। ধন্যবাদ!
TheBikingViking


7

রেটিনা , 26 22 বাইট

বাইট গণনাটি আইএসও 8859-1 এনকোডিং ধরেছে।

.+
$*

$`¶
1
$.%'
0?¶

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

ব্যাখ্যা

.+
$*

ইনপুটটিকে আনারিতে রূপান্তর করুন।


$`¶

প্রতিটি অবস্থানে উপসর্গটি সেই বিন্দু পর্যন্ত, পাশাপাশি একটি লাইনফিড সন্নিবেশ করুন। এই থেকে একটি ইউনারী পরিসর সৃষ্টি 2করার n+1প্রতি লাইনে একটি মান।

1
$.%'

প্রতিটি 1একই লাইনে অক্ষরের সংখ্যা দিয়ে প্রতিস্থাপন করুন । এটি এমন কিছু 11111রূপান্তরিত করে 43210

0?¶

সমস্ত লাইনফিড এবং পূর্ববর্তী শূন্যগুলি সরান।


5

গেমমেকার ল্যাঙ্গুয়েজ, 65 বাইট

b=""for(i=1;i<=argument0;i++){c=i while(j)b+=string(c--)}return b

5

এপিএল, 10 বাইট

∊⍕¨∘⌽∘⍳¨∘⍳

উদাহরণ:

      (∊⍕¨∘⌽∘⍳¨∘⍳)6
121321432154321654321

ব্যাখ্যা:

  • : 1 থেকে এন নম্বর পেতে।
  • ⍳¨∘: তাদের প্রত্যেকের জন্য, 1 থেকে এন পর্যন্ত নম্বরগুলি পান।
  • ⌽∘: তালিকাটি বিপরীত
  • ⍕¨∘: প্রতিটি আইটেমের চরিত্র উপস্থাপনা পান (সুতরাং এটির মধ্যে ফাঁকা স্থানগুলির সাথে সংখ্যাগুলি আউটপুট দেয় না)
  • : ফলাফল অ্যারে সমতল করুন

সুতরাং এটি পিছনে কোড পার্সিং?
devRicher

ফাংশন কম্পোজিশন, আমি ক্রমটি ব্যাখ্যাটি ক্রমে দিয়েছি যে ফাংশনগুলি আসলে মূল্যায়ন করা হয়
মেরিনাস


5

পাইথন 2, 71 68 বাইট

আমি বাজি ধরছি একটি পুনরাবৃত্তির সমাধানটি আরও কম হতে পারে তবে এটিকে একটি রূপায়ণ করতে আমার খুব কষ্ট হচ্ছে।

n=input()
i=0
o=""
while i<n:
    i+=1;j=i
    while j:o+=`j`;j-=1
print o

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


5

আসলে 8 বাইট

RR♂RΣRεj

প্রথমবার একটি উত্তর পোস্ট করার জন্য বাস্তবে এটি সম্ভবত গল্ফ করা যেতে পারে।

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

Program takes implicit input, implicit print at EOF
R           Takes the input and creates a range (1, input)   
                STACK = [1,2,..,n]
 R          Reverse the top stack item (our range)
                STACK = [n,..,2,1]
  ♂R        For each item in our range, create a range (1, rangeitem)
                STACK = [[1,2,..,n], .., [1,2], [1]]
    Σ       Stitch the items of the list together
                STACK = [n,..,1,2,3,1,2,1]
     R      Reverse the top stack item again (our answer)
                STACK = [1,2,1,3,2,1,..n]
      εj    Create an empty string and append each item from the list to it.
            (turns non string items into strings)

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


1
আমি নিশ্চিত যে এর চেয়ে আরও ছোট সমাধান আছে তবে আমি আগে নিজেকে ভুল প্রমাণ করেছি। যাই হোক না কেন, আপনার উত্তরের জন্য এখানে চেষ্টা করে দেখুন লিংকটি's
শার্লক 9

1
কোডটি R♂R♂RΣεjএকই সংখ্যক বাইট, তবে এর জন্য ব্যাখ্যা লেখা আরও সহজ হতে পারে।
শার্লক 9

@ শার্লক ৯ আপনার পথটি আরও মার্জিত, আমি এই লিঙ্কটি এবং একটি ব্যাখ্যা যুক্ত করেছি যা আমি গতকাল আরও কিছুটা ব্যাখ্যা করার চেষ্টা করতে যুক্ত করতে ভুলে গিয়েছিলাম।
টেলি পেলিকান


4

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

{[~] flat [\R,] 1..$_}

একটি ল্যাম্বদা যা একটি স্ট্রিং দেয়।

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

ব্যাখ্যা:

  • 1..$_: পূর্ণসংখ্যার ব্যাপ্তি ... (1 2 3 4)
  • [,] 1..$_: কমা অপারেটরের মাধ্যমে ("ভাঁজ") হ্রাস করুন ... (1 2 3 4)
  • [\,] 1..$_: মধ্যবর্তী ফলাফলের সাথে ( ত্রিভুজাকার হ্রাস ) ...((1) (1 2) (1 2 3) (1 2 3 4))
  • [\R,] 1..$_: মেটা অপারেটরকে কমাতে বিপরীত প্রয়োগ করুন ...((1) (2 1) (3 2 1) (4 3 2 1))
  • [~] flat ...: তালিকা নেস্টিং সরান, এবং স্ট্রিং কনক্যাট অপারেটর ভাঁজ ... 1213214321

4

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

f x=[1..x]>>= \y->[y,y-1..1]>>=show

ব্যবহারের উদাহরণ: f 6-> "121321432154321654321"

সব সংখ্যার জন্য xমধ্যে 1 ... xকরতে একটি তালিকা x,x-1, ... ,1একটি স্ট্রিং মধ্যে সংখ্যার চালু এবং তাদের একটি একক স্ট্রিং মধ্যে কনক্যাটেনেট। আবার, সেই স্ট্রিংগুলিকে একক স্ট্রিতে সংযুক্ত করুন।


4

সি 89, 54 বাইট

i,j;f(n){for(i=1;j<=n;j=i++)while(j)printf("%d",j--);}

56 -2 = 54 এরিকগল্ফারকে ধন্যবাদ!


আমি মনে করি আপনি (j=i++)পরিবর্তে এটি করতে (j=i)পারেন এবং শেষ i++(অনির্ধারিত) মুছে ফেলতে পারেন ।
এরিক আউটগল্ফার

এখানে একটি সংক্ষিপ্ত পুনরাবৃত্ত সংস্করণ: i,j;f(n){j=++i;while(j)printf("%d",j--);i-n?f(n):0;}(52 বাইট)
স্টেডিবক্স

@ স্টেডিবক্স আপনি যদি এটি চান তবে নিজের উত্তর হিসাবে যুক্ত করতে পারেন, তবে ধন্যবাদ!
বিড়াল

@ কেট ঠিক আছে, ধন্যবাদ, সবেমাত্র হয়েছে। আমি কেবল আপনার সমাধানটি সম্পাদনা করার পরেও আমার উচিত কিনা তা নিশ্চিত ছিল না।
স্টেডিবক্স

4

পাইথন 3, 87 92 83 74 বাইট

lambda n:"".join(["".join([str(i)for i in range(1,k)][::-1])for k in range(1,n+2)])

পুনরাবৃত্তি ব্যবহার করে সংক্ষিপ্ত উত্তর:

f=lambda n:f(n-1)+"".join([str(i)for i in range(1,n+1)][::-1])if n>0else""

সংক্ষিপ্ততমটি নাও হতে পারে তবে এটি কেবল পাইথনের তালিকা বোঝার সাথে তৈরি!

(মুদ্রণ ফাংশন যুক্ত করতে এবং remove n মুছে ফেলার জন্য সম্পাদিত)

(মুদ্রণ ফাংশনটি সরাতে এবং n + 1, কে + 1 থেকে এন, কে + 2 পরিবর্তন করতে সম্পাদিত)


কে, এন + ২ নিয়ে কাজ করে তবে কে + ২, এন দিয়ে নয়, ধারণাটির জন্য ধন্যবাদ যদিও :)
সিগমেই

আপনি যে কোডটি স্কোর করছেন সেটি প্রথম হওয়া উচিত। এছাড়াও, আপনার পাইথন 2 ব্যবহার করা উচিত এবং তার `i`পরিবর্তে ব্যবহার করা উচিত str(i)। এবং আপনি এর "".join(...)পরিবর্তে "".join([...])এবং range(1,k,-1)এটিকে সরাতে ব্যবহার করতে পারেন [...][::-1]
mbomb007

এছাড়াও, n>0হতে পারে n। এবং আমি বোঝানো range(n,0,-1)। এবং ব্যবহার n and f(n-1)+...)or""
mbomb007

1
62 বাইট । আসলে, এটি এই উত্তরটির খুব কাছে চলেছে
mbomb007

হ্যাঁ এটি খুব কাছাকাছি
চলেছে



3

গণিত, 36 বাইট

ToString/@(""<>Range[Range@#,1,-1])&

সতর্কতার একটি গোছা ফেলে যা নিরাপদে উপেক্ষা করা যেতে পারে।

ব্যাখ্যা

5উদাহরণ হিসাবে ইনপুট ব্যবহার করা :

Range@#

একটি পরিসীমা তৈরি করে {1, 2, 3, 4, 5}

Range[...,1,-1]

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

{{1}, {2, 1}, {3, 2, 1}, {4, 3, 2, 1}, {5, 4, 3, 2, 1}}

পরবর্তী:

(""<>...)

এটি খালি স্ট্রিংয়ের সাথে নেস্টেড তালিকায় যোগ দেয়। যেহেতু নেস্টেড তালিকায় কোনও স্ট্রিং নেই, তাই এটি সত্যিকারের মানগুলিতে যোগ দিতে পারে না (যেখানে সতর্কতা উত্পন্ন হয়), তবে ""<>তালিকাটি সমতল করার পার্শ্ব-প্রতিক্রিয়া রয়েছে। সুতরাং এটি আমাদের দেয়

1 <> 2 <> 1 <> 3 <> 2 <> 1 <> 4 <> 3 <> 2 <> 1 <> 5 <> 4 <> 3 <> 2 <> 1

এখন এসেছে ম্যাথামেটিকার সুন্দর বৈশিষ্ট্য যা Mapএটির ম্যাপিংয়ের কাঠামোটির যত্ন নেই। আপনি সাধারণত এটি একটি তালিকায় প্রয়োগ করেন তবে এটি কোনও মাথা দিয়ে কাজ করে। f /@ h[a, b, c]সহজভাবে আপনাকে দেয় h[f[a], f[b], f[c]]। আমাদের ক্ষেত্রে, মাথাটি হয় StringJoinএবং মানগুলি পূর্ণসংখ্যা হয়।

ToString/@...

সুতরাং এটি সহজেই পূর্ণসংখ্যাকে স্ট্রিংগুলিতে পরিণত করে। এই মুহুর্তে StringJoin[...]তাদের সাথে কী করতে হবে তা জানে এবং তাদের সকলকে একক স্ট্রিংয়ে যুক্ত করে:

"121321432154321"

1
এটা ঠিক সরল কদর্য। :)
গ্রেগ মার্টিন

3

গল্ফস্ক্রিপ্ট , 14 বাইট

~,{),{)}%-1%}%

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

অবশ্যই সাধারণ পদ্ধতি, তবে এটি গল্ফস্ক্রিপ্ট।

কোডটির এই ভিএসটি অংশের ব্যাখ্যা :

~,{),{)}%-1%}% # Code
               # Initial stack.      ["n"]
~              # Eval ToS.           [n]
 ,             # ToS' lowered range. [[0..n)]
  {),{)}%-1%}  # Block. 1 argument.  [a]
   )           # Increment.          [a+1]
    ,          # Range.              [[0..a)]
     {)}       # Block. 1 argument.  [b]
      )        # Increment.          [b+1]
        %      # Map.                [[1..a]]
         -1    # Integer. -1         [[1..a] -1]
           %   # Each nth element.   [[a..1]]
             % # Map.                [[[1],[2,1],...,[n..1]]]
               # Implicit output.    121...n..1

নোট করুন আউটপুট একক সংখ্যা হিসাবে as চলন্ত \n


3

আর, 38 33 44 বাইট

if((n=scan())>0)for(i in 1:n)cat(i:1,sep="")

STDIN এ ইনপুট নেয় এবং প্রতিটি পদক্ষেপের জন্য 1 থেকে 1 সিকোয়েন্স তৈরি করে এবং এটি মুদ্রণ করে 1 থেকে n পর্যন্ত লুপ করে।

সম্পাদনা করুন: 5 বাইট সংরক্ষণ করে এবং মিটিংয়ের সময় আমার কেন গল্ফ করা উচিত নয় তা দেখিয়ে প্রতিস্থাপন seq(i,1)করা i:1হয়েছে।


101ইনপুট হলে এটি উত্পাদন করে 0if((n=scan())>0)for(i in 1:n)cat(i:1,sep="")কৌতুক করে
ফ্রেডেরিক

অভিশাপ, অ-শূন্য ইনপুট ধরে নেওয়া :(
জেএডি

if(n<-scan())পর্যাপ্ত হওয়া উচিত।
জিউসেপ

3

এমএটিএল , 14 11 বাইট

:"@:P]v!VXz

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

ব্যাখ্যা

:      % Input N implicitly. Push range [1 2 ...N]
"      % For each k in [1 2 ...N]
  @:   %   Push range [1 2 ... k]
  P    %   Reverse
]      % End
v!     % Concatenate all arrays horizontally
V      % Convert to string
Xz     % Remove spaces. Display implicitly

not split up by anythingমনে করবেন না, দ্বিতীয়টি অনুমোদিত কিনা।
জেএডি

2
@ জারকো ডাবডেলডাম ওপি স্পষ্ট না করা পর্যন্ত আমি সেটিকে মুছে ফেলব
লুইস মেন্ডো

1
@ জারকো ওপি স্পষ্ট করেছে। বর্তমান সমাধানটি অনুমান অনুসারে
লুইস মেন্ডো

3

ব্রেনফাক, 17 বাইট

>,[>[+.>]+.[<]>-]

ব্যাখ্যা

>           keep the first cell at 0
 ,          input of the decimal number into the cell
  [>        start a conditionnal loop and go to the next cell
   [+.>]    while it don't find 0, increment each cells and output the value
    +.      increment the new cell and output
     [<]    go to the first cell
      >-]   decrement the second cell and restart

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


পিপিসিজিতে আপনাকে স্বাগতম! আপনি কি এখনও ট্যুর পৃষ্ঠা এবং হটেস্ট মেটা প্রশ্নগুলি পড়েছেন? আমি আপনাকে পরামর্শ দিচ্ছি, তারা সহায়ক! এছাড়াও, কোড বিন্যাসে আপনার কোড মোড়ানো! আপনি ফর্ম্যাটিং সহায়তা পড়েছেন? আপনার কোডটি কীভাবে কাজ করে তাও আপনাকে ব্যাখ্যা করা উচিত, যদি আপনি পারেন!
devRicher

@ মুডিফিশ আমি স্রেফ ব্যাখ্যাটি যুক্ত করেছি
মিলিহার্ড

আমি একটি মোবাইল অ্যাপ ব্যবহার করেছি। আপনি ফলাফলের পর্দা দেখতে পারেন।
মিলিহার্ড

না এটা ঠিক আছে. তবে লিঙ্কটিতে, আউটপুটটি দশমিক নয়, তাই আপনি বাস্তবে আউটপুটটি দেখতে পাবেন না
মিলিহার্ড

@ মুডিফিশ আপনার পার্মালিঙ্ক একটি বাজে বিভ্রান্তিকর। দশমিক অঙ্ক 6 এর পরে ইনপুটটিতে একটি অদৃশ্য 0x06 রয়েছে ।
ডেনিস

3

পাইথন , 63 57 59 বাইট

একটি পুনরাবৃত্ত সমাধান যা পাইথন 2 এবং 3 উভয় ক্ষেত্রেই কাজ করে এটি সম্ভবত আরও গল্ফ করা যেতে পারে। গল্ফিং পরামর্শ স্বাগত! এটি অনলাইন চেষ্টা করুন!

সম্পাদনা করুন: -6 বাইট জনাথন অ্যালান ধন্যবাদ। আমার উত্তরটি নিয়ে কোনও সমস্যা নির্দেশ করার জন্য mbomb007 এর সাথে ধন্যবাদ দিয়ে +2 বাইটস।

f=lambda n:n and f(n-1)+"".join(map(str,range(n,0,-1)))or""

Ungolfing

def f(n):
    s = ""
    for i in range(n+1):
        m = map(str, range(n, 0, -1))
        s += "".join(m)
    return s

2
map6 বাইট সংরক্ষণ করার জন্য একটি ব্যবহার করুন :lambda n:n and f(n-1)+"".join(map(str,range(n,0,-1)))or""
জোনাথন অ্যালান

2

পিএইচপি, 35 34 33 বাইট

বাইট সংরক্ষণ করেছি কারণ আমি ভুল হিসাব করেছি, ধন্যবাদ টাইটাস! এবং অন্য!

while($i++<$argv[1])echo$s=$i.$s;

কমান্ড লাইন থেকে চালান -r

খুব সহজ উত্তর, আমাদের ইনপুট মাধ্যমে 1 থেকে লুপ n, স্ট্রিং এর শুরুতে নম্বর ট্যাক এবং প্রিন্ট আউট।


আমি 34 গণনা করি post পোস্ট-ইনক্রিমেন্ট সহ এক বাইট কম।
তিতাস

33 বাইট:while($i++<$argv[1])echo$s=$i.$s;
aross

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