আমার কত লিখতে হবে?


35

সংখ্যা লেখার বিষয়টি প্রোগ্রামিংয়ের হ্যালো ওয়ার্ল্ডগুলির মধ্যে রয়েছে যা প্রায়শই 1-10 হয়।

আমি অনেক সংখ্যা লিখতে চাই! অনেক, অনেক সংখ্যা। তবে আমার কত নম্বর লিখতে হবে?

কার্য

একটি পূর্ণসংখ্যার ইনপুট দেওয়া হয়েছে, আউটপুট হিসাবে এমন একটি নম্বর দিন যা আমাকে সংখ্যার সংখ্যায় দেবে যা সংখ্যায় 0 থেকে ইনপুট, ইনপুট পর্যন্ত সমস্ত পূর্ণসংখ্যার সংখ্যা যুক্ত স্ট্রিংয়ে থাকবে। প্রত্যাখ্যান শনাক্তকারী ("-") একক চরিত্র হিসাবে গণনা করে।

উদাহরণ I / Os

ইনপুট: 8
লিখিত আউট: 0,1,2,3,4,5,6,7,8
আউটপুট: 9

ইনপুট: 101
লিখিত আউট: 0,1,2,3 ...., 99,100,101
আউটপুট: 196

ইনপুট: 102
লিখিত আউট: 0,1,2,3 ...., 100,101,102
আউটপুট: 199

ইনপুট -10
লিখিত আউট: 0, -1, -2, -3, -4, -5, -6, -7, -8, -9, -10
আউটপুট: 22

এটি একটি । সর্বনিম্ন বাইট জিতেছে!

উত্তর:






7

বাশ + ওএস এক্স (বিএসডি) ইউটিলিটিস, 24 22 বাইট

2 বাইট বাঁচানোর জন্য @seshoumara ধন্যবাদ।

seq 0 $1|fold -1|wc -l

ম্যাক ওএস এক্সে টেস্ট চলছে:

$ for n in 8 101 102 -10 -1 0 1; do printf %6d $n; ./digitcount $n; done
     8       9
   101     196
   102     199
   -10      22
    -1       3
     0       1
     1       2

এখানে একটি জিএনইউ সংস্করণ রয়েছে:

বাশ + কোর্টিলস, 40 38 বাইট

আবার, 2 বাইট সংরক্ষণ করেছেন @seshoumara এর জন্য ধন্যবাদ।

(seq $1 0;seq 0 $1)|uniq|fold -1|wc -l

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


@ টসকিওমি যখন বিএসডি ইউটিলিটিগুলি বোঝাতে চেয়েছিলেন তখন আমি কোরিউটিলগুলি লিখেছিলাম - আমি ম্যাক ওএস এক্সে এটি পরীক্ষা করেছিলাম, যেখানে এটি নেতিবাচক ইনপুটগুলিতেও কাজ করে (সেক জিএনইউ সিকের মতো নয়)।
মিচেল স্পেক্টর

@ ডিজিটালট্রামা নিস জিএনইউ সমাধান। আপনি যদি চান তবে এটি এগিয়ে যান এবং নিজেই পোস্ট করুন; আমার মনে হয় এটির ভিন্নতা হিসাবে গণনা করা খুব আলাদা।
মিচেল স্পেক্টর


কিভাবে fold -1|wc -lগণনা করতে ব্যবহার সম্পর্কে ? এটি সংক্ষিপ্ত।
শৈশুমারা

6

পাইথন 2, 83 , 78 64 বাইট

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

lambda x:sum(map(len,map(str,(range(0,x+cmp(x,.5),cmp(x,.5))))))

এই সংখ্যাটি 5 বাইট সংরক্ষণ করেছে, @ নম্বারমানিয়াকে ধন্যবাদ:

x=input()
print len(''.join(map(str,(range(x+1)if x>0 else range(0,x-1,-1)))))

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

এটির পরে আমি নিজেই এটি নিয়ে এসেছি (একই পরিমাণ বাইট):

x=input()
print sum(map(len,map(str,(range(x+1)if x>0 else range(0,x-1,-1)))))

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


আপনি ব্যবহার করতে পারেন map78 বাইট জন্য দ্বিতীয় লাইনে: print len(''.join(map(str,(range(x+1)if x>0 else range(0,x-1,-1)))))। আপনি পারে এটি একটি ল্যামডা করে আরও বেশি সংরক্ষণ করুন।
নম্বরমানিয়াক

1
@ নাম্বারমানিয়াক কি আমি এভাবে কিছু করতে পারি?
মাইক্রোস্টিক 6

1
@ নাম্বারমানিয়াক এখানে একটি সমতুল্য:print sum(map(len,map(str,(range(x+1)if x>0 else range(0,x-1,-1)))))
মাইক্রোথপিক

lambda x:sum(map(len,map(str,(range(x+1)if x>0 else range(0,x-1,-1)))))71 বাইটের জন্য
ফিলিপ নারদী

6

জাভা 7, 74 বাইট (পুনরাবৃত্ত - দ্বিতীয় ডিফল্ট প্যারামিটার সহ)

int c(int r,int n){r+=(n+"").length();return n>0?c(r,n-1):n<0?c(r,n+1):r;}

ব্যাখ্যা (1):

int c(int r, int n){     // Recursive method with two integer parameters and integer return-type
                         // Parameter `r` is the previous result of this recursive method (starting at 0)
  r += (n+"").length();  //  Append the result with the current number's width
  return n > 0 ?         //  If the input is positive
     c(r, n-1)           //   Continue recursive method with n-1
    : n < 0 ?            //  Else if the input is negative
     c(r, n+1)           //   Continue recursive method with n+1
    ?                    //  Else (input is zero)
     r;                  //   Return the result
}                        // End of method

জাভা 7, 81 79 বাইট (লুপ - একক প্যারামিটার)

যদি 0কোনও কারণে এই পুনরাবৃত্তির পদ্ধতির জন্য কোনও ডিফল্ট দ্বিতীয় প্যারামিটার থাকার অনুমতি না থাকে তবে এর পরিবর্তে এর জন্য একটি লুপ ব্যবহার করা যেতে পারে:

int d(int n){String r="x";for(int i=n;i!=0;i+=n<0?1:-1)r+=i;return r.length();}

ব্যাখ্যা (2)

int d(int n){                 // Method with integer parameter and integer return-type
  String r = "x";             //  Initial String (with length 1 so we won't have to +1 in the end)
  for(int i=n; i != 0;        //  Loop as long as the current number isn't 0
      i += n < 0 ? 1 : 1)     //   After every iteration of the loop: go to next number
    r += i;                   //   Append String with current number
                              //  End of loop (implicit / single-line body)
  return r.length();          //  Return the length of the String
}                             // End of method

পরীক্ষার কোড:

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

class M{
  static int c(int r,int n){r+=(n+"").length();return n>0?c(r,n-1):n<0?c(r,n+1):r;}

  static int d(int n){String r="x";for(int i=n;i!=0;i+=n<0?1:-1)r+=i;return r.length();}

  public static void main(String[] a){
    System.out.println(c(0, 8) + "\t" + d(8));
    System.out.println(c(0, 101) + "\t" + d(101));
    System.out.println(c(0, 102) + "\t" + d(102));
    System.out.println(c(0, -10) + "\t" + d(-10));
  }
}

আউটপুট:

9   9
196 196
199 199
22  22

1
আমি এই সমাধানটি পছন্দ করি, :)
তুস্কিওমি


4

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

⟦ṡᵐcl

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

[0, ইনপুট] ব্যাপ্তি তৈরি করে, প্রতিটি সংখ্যাকে স্ট্রিংয়ে রূপান্তর করে, একক স্ট্রিংয়ে যুক্ত করে এবং ফলাফলের দৈর্ঘ্য প্রদান করে


আমি লক্ষ্য করেছি টিআইওর একটি যুক্তি রয়েছে Z; কি হয়েছে? এটি গণনা করা উচিত?
স্টেনবার্গ

3
@ স্যাটেনবার্গ: লিওর জমা দেওয়া একটি সম্পূর্ণ প্রোগ্রাম নয়, একটি ফাংশন। Zব্র্যাচল্যাগ ইন্টারপ্রেটারকে যুক্তি দেওয়া ফাংশনটিকে পরীক্ষামূলক করে তোলার জন্য উপযুক্ত মোড়ক যুক্ত করতে বলে। (আপনি যদি এটি পুরো প্রোগ্রাম হিসাবে চালিত করেন তবে এটি কোনও আউটপুট উত্পাদন করতে পারে না)) আমরা এখানে প্রোগ্রাম বা ফাংশন জমা দেওয়ার অনুমতি দিই, যাতে এটি বাইট গণনার বিরুদ্ধে গণনা করা উচিত নয়, কারণ এটি আসলে জমা দেওয়ার অংশ নয়।

4

পিএইচপি, 59 60 বাইট

রবার্টো06 দ্বারা আউটগল্ফড - https://codegolf.stackexchange.com/a/112536/38505

রবার্টো06 ধন্যবাদপূর্ববর্তী সংস্করণটি নেতিবাচক সংখ্যার জন্য কাজ করে না দেখে ।

কেবল সংখ্যার একটি অ্যারে তৈরি করে, একটি স্ট্রিংয়ে রাখে, তারপর অঙ্কগুলি গণনা করে (এবং বিয়োগ চিহ্ন)

<?=preg_match_all("/\-|\d/",implode(",",range(0,$argv[1])));

চালানোর উদাহরণ: php -f 112504.php 8


এটি নেতিবাচক
ইনপুটটির

আপনি এটির joinপরিবর্তে 3 টি বাইট ব্যবহার করে সঞ্চয় করতে পারেন implodeকারণ এটি একটি উপাম।
মারিও

মাইনাস -১ বাইট এড়াতে হবে না। অন্যদিকে আপনি আপনার [--9]
রেজেক্সকে

4

হাস্কেল , 39 38 বাইট

f 0=1
f n=length$show=<<[0..n]++[n..0]

এটি অনলাইন চেষ্টা করুন! সম্পাদনা: @ এক্সনোরকে ধন্যবাদ 1 বাইট!

ব্যাখ্যা:

সংখ্যার জন্য মধ্যে Haskell aএবং b [a..b]পরিসর থেকে aথেকে b1-বাড়তি বা 1-decrements কিনা তার উপর নির্ভর করে এ bবড় a। সুতরাং একটি ধনাত্মকতার nজন্য প্রথম তালিকাটি [0..n]++[n..0]রয়েছে [0,1,2,...,n]এবং দ্বিতীয়টি খালি। নেতিবাচক nজন্য দ্বিতীয় পরিসীমা ফলন [0,-1,-2,...,n]এবং প্রথম এক খালি। তবে n=0উভয় ব্যাপ্তি যদি তালিকাটি উপস্থাপন করে [0], তবে সমাহারটি [0,0]মিথ্যা ফলাফলের দিকে নিয়ে যাবে2 । এজন্য 0একটি বিশেষ কেস হিসাবে পরিচালনা করা হয়।

দ্য =<<তালিকায় -operator হিসাবে একই concatMapতাই প্রতিটি সংখ্যা দ্বারা একটি স্ট্রিং রূপান্তরিত হয়, showএবং ঐ সমস্ত স্ট্রিং এক দীর্ঘ স্ট্রিং যার মধ্যে ঘনিভূত হয় lengthপরিশেষে ফিরিয়ে দেওয়া হয়।


এক্সনোর টিপ এর আগে আমি এর [0,signum n..n]পরিবর্তে ব্যবহার করেছি [0..n]++[n..0]signum nহয় -1ঋণাত্মক সংখ্যা, জন্য 0শূন্য এবং 1ইতিবাচক সংখ্যার জন্য এবং ফর্ম একটি সীমার [a,b..c]থেকে সংখ্যার তালিকা তৈরী করে aথেকে cবৃদ্ধি সঙ্গে b। এর মাধ্যমে ধনাত্মক এবং নেতিবাচক জন্য [0,signum n..n]পরিসর তৈরি করে । জন্য এটা অসীম তালিকা নির্মাণ করবে[0,1,2,...,n]n[0,-1,-2,...,n]nn=0[0,0,0,...] তাই আমরা হ্যান্ডেল প্রয়োজন 0, অত্যধিক বিশেষ স্থান ধার্য।


আমি মনে [0..n]++[n..0]করি এর জন্য করা উচিত [0,signum n..n]
xnor

4

পিএইচপি, 41 35 বাইট

ব্যবহারকারী 59178 ধন্যবাদ 6 বাইট সংরক্ষণ করা

যেহেতু answer এর উত্তরটি নেতিবাচক ইনপুটটির জন্য ভুল ছিল, তাই আমি এটি একটি নতুন সমাধান তৈরির জন্য নিজের উপর নিয়েছিলাম:

<?=strlen(join(range(0,$argv[1])));

এই ফাংশন:

  • থেকে একটি অ্যারে তৈরি 0করে$argv[1] (ওরফে ইনপুট)
  • এটি একটি খালি অক্ষর দিয়ে ইমপ্লোড করে (অর্থাত এটি একটি স্ট্রিংয়ে রূপান্তর করে)
  • স্ট্রিংয়ের দৈর্ঘ্য প্রতিধ্বনি করে

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


এটি আমার, ইডকের একটি দুর্দান্ত সমাধান যা আমি ভেবেছিলাম যে আমাকে এটি করতে হবে preg_match():(
ʰᵈˑ

ঠিক আছে, আমি range()যদি ভাবতাম না যে এটি যদি আপনার সমাধান না হয় তবে আমি অনুমান করি যে আমরা এমনকি!)
roberto06

1
join()পরিবর্তে ব্যবহার করে আপনি 3 বাইট সংরক্ষণ করতে পারেন implode()। এটি একই জিনিসটির জন্য একটি উপাধি। php.net/manual/en/function.join.php
user59178

1
এবং 'আঠালো' প্যারামিটার বাদ দিয়ে আরও 3 টি।
ব্যবহারকারী59178

আমি জানতাম যে এর জন্য একটি উপনাম রয়েছে implode, তবে আমি জানতাম না যে আমি প্যারা প্যারামিটারটি বাদ দিতে পারি। ধন্যবাদ!
roberto06

4

রুবি , 20 26 29 বাইট

->x{[*x..-1,0,*1..x]*''=~/$/}

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


বাড়বে কেন?
ব্রায়ান মিন্টন

প্রথম সংস্করণটি নেতিবাচক সংখ্যার জন্য কাজ করে নি, দ্বিতীয় সংস্করণে শূন্যের সাথে ইনপুট হিসাবে সমস্যা ছিল।
জিবি

4

আর, 26 20 বাইট

sum(nchar(0:scan()))

খুব প্রাথমিক পদ্ধতির:

  • একটি ভেক্টর 0: x করুন

  • প্রতিটি মানের অক্ষরগুলি গণনা করুন (একটি স্ট্রিংটিতে স্বয়ংক্রিয়ভাবে জোর করা হবে)

  • সমষ্টি

নিশ্চিত না ফাংশন সংজ্ঞা কাটাতে কোন কৌশল আছে কিনা? 6 টি বাইট পরিবর্তে স্টিডিনের কাছ থেকে ইনপুট নিয়ে জিউসেপিকে ধন্যবাদ রক্ষা করেছে।


আপনি sum(nchar(0:scan()))পরিবর্তে এটি করতে পারেন এবং nপরিবর্তে স্ট্ডিন থেকে পড়তে পারেন ।
জিউসেপ

4

ম্যাথামেটিকাল, 48 47 46 বাইট

-1 বাইট ধন্যবাদ মার্টিন ইন্ডারকে !

StringLength[""<>ToString/@Range[0,#,Sign@#]]&

নাম হিসাবে যুক্তি হিসাবে গ্রহণ বেনামে ফাংশন।

গ্রেগ মার্টিন দ্বারা সংক্ষিপ্ত সমাধান , 39 বাইট

1-#~Min~0+Tr@IntegerLength@Range@Abs@#&

1
আপনি Sign@#জন্য ব্যবহার করতে পারেন #/Abs@#
মার্টিন ইন্ডার

1
আপনি একটি সামান্য ভিন্ন পদ্ধতির সঙ্গে কয়েক বাইট সংরক্ষণ করতে পারেন: 1-#~Min~0+Tr@IntegerLength@Range@Abs@#&10 এর অঙ্কের প্রাথমিক অ্যাকাউন্টগুলি, যখন -#~Min~0ইনপুটটি নেতিবাচক হলে সমস্ত নেতিবাচক লক্ষণগুলির জন্য অ্যাকাউন্ট করে।
গ্রেগ মার্টিন

3

ব্যাচ, 110 বাইট

@set/a"n=%1,t=n>>31,n*=t|1,t=1-t*n,i=0
@for /l %%i in (0,1,9)do @set/a"t+=(i-n)*(i-n>>31),i=i*10+9
@echo %t%

গণনা sum(min(0,abs(n)+1-10^k),k=0..9)+(n<0?1-n:1)। (আমাকে কেবল 9ব্যাচের পূর্ণসংখ্যার গাণিতিকের সীমাবদ্ধতার কারণে যেতে হবে ))




3

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

-join(0.."$args")|% Le*

এটি অনলাইন চেষ্টা করুন!(খুব বড় (পরম) ইনপুটগুলির জন্য টিআইও-তে বার্ফ করবে)

ইনপুট ..থেকে একটি পরিসীমা তৈরি করতে পরিসর অপারেটর ব্যবহার করে (ইনপুট অ্যারে থেকে রূপান্তর করতে স্ট্রিং হিসাবে কাস্ট করা)। এটি একসাথে একটি স্ট্রিং (উদাহরণস্বরূপ ) এডিট করা হবে , এবং তারপরে এনজিথটি নেওয়া হবে। এটি পাইপলাইনে রেখে গেছে এবং আউটপুট অন্তর্ভুক্ত।0$args-join01234Le


আমি যখন এই প্রশ্নটি পড়ি তখন আমার মাথায় সঠিক সমাধান ছিল 😝
ব্রিটিশবাদী


3

QBIC , 25 বাইট

:[0,a,sgn(a)|A=A+!b$]?_lA

ব্যাখ্যা:

:[0,a     Read 'a' from the cmd line, start a FOR loop from 0 to 'a'
,sgn(a)|  with incrementer set to -1 for negative ranges and 1 for positive ones
A=A+!b$   Add a string cast of each iteration (var 'b') to A$
]         NEXT
?_lA      Print the length of A$

3

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

@ETH প্রোডাকশনগুলির সাথে সহযোগিতা করেছেন

n=>{for(t="";n;n<0?n++:n--)t+=n;alert(++t.length)}


3

রেটিনা , 28 বাইট

\d+
$*
1
$`1¶
1+
$.&
^-?
0
.

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

ব্যাখ্যা

\d+
$*

চিহ্নটি ছোঁয়া না রেখে নম্বরটি অকেলে রূপান্তর করুন।

1
$`1¶

প্রতিটি 1 নিজের পছন্দমতো সবকিছুই একটি নতুন লাইন দ্বারা প্রতিস্থাপিত হয়। এটির সাথে আমরা এনটি ইতিবাচক হলে 1 থেকে n পর্যন্ত শুরু করবো, -1 থেকে n -শুরুতে অতিরিক্তের সাথে যদি এটি নেতিবাচক হয়। সমস্ত সংখ্যা অবিচ্ছিন্ন এবং নিউলাইনগুলি দ্বারা বিভক্ত।

1+
$.&

যেকোন একটি ক্রমকে সংশ্লিষ্ট দশমিক সংখ্যায় রূপান্তর করুন।

^-?
0

0শুরুতে একটি রাখুন , সেখানে অতিরিক্ত -থাকলে প্রতিস্থাপন করুন ।

.

(অ-নিউলাইন) অক্ষরের সংখ্যা গণনা করুন।


3

ইমাকস, 20 বাইট

C-x ( C-x C-k TAB C-x ) M-{input} C-x e C-x h M-=

কমান্ডটি নিজেই 20 টি কী-স্ট্রোক, তবে এটিকে কীভাবে বাইট হিসাবে গণনা করা উচিত সে সম্পর্কে আমার স্পষ্টতা দরকার। আমি যুক্তি দিয়েছিলাম যে প্রতিটি কীস্ট্রোককে 1 বাইট হিসাবে গণনা করা সবচেয়ে ন্যায্য হবে। উপরের কমান্ডটি সহজ পাঠের জন্য প্রচলিতভাবে লেখা হয়েছে।

ব্যাখ্যা

C-x (

একটি কীবোর্ড ম্যাক্রো সংজ্ঞা দেওয়া শুরু করুন।

C-x C-k TAB

একটি নতুন ম্যাক্রো কাউন্টার তৈরি করুন। 0বাফারকে লিখেছেন ; কাউন্টারটির মান এখন 1।

C-x )

শেষ কীবোর্ড ম্যাক্রো সংজ্ঞা।

M-{input} C-x e

মেটা হিট করার পরে আপনার ইনপুট নম্বরটি টাইপ করুন। C-x eতারপর ম্যাক্রো যে অনেক বার সঞ্চালন করে।

C-x h

বাফারের শুরুতে চিহ্ন সেট করুন (যা এইভাবে উত্পন্ন সমস্ত পাঠ্য নির্বাচন করে)।

M-=

নির্বাচিত অঞ্চলে অক্ষর গণনা চালান। মিনিবাফারে অক্ষরের সংখ্যা মুদ্রিত হবে।

উদাহরণ

ভয়ানক হাইলাইটিং রঙের জন্য ক্ষমা চাই। 100 টি ইনপুট দিয়ে এই কমান্ডটি ব্যবহার করার এটি একটি উদাহরণ The আউটপুটটি স্ক্রিনের নীচে মিনিফুফারে রয়েছে।

100 এর ইনপুট সহ কার্যকরকরণের উদাহরণ


হ্যাঁ, আমি নিশ্চিত যে একটি কীস্ট্রোক এক বাইট।
NoOneIsHere

@ ননইআইনি এখানে আমার সম্পর্কে দুটি চিন্তাভাবনা আছে: 1) সিটিআরএল + চরিত্রকে কি একটি একক বাইট হিসাবে উপস্থাপন করা যায়? এবং 2) আমি এখানে প্রচুর উত্তর দেখতে পেয়েছি ইউনিকোডের অক্ষরগুলিকে এক বাইট হিসাবে গণনা করছি তবে সেগুলি নয়, তাই আমি ভেবেছিলাম সম্ভবত কোডগল্ফের "বাইট" এর নিজস্ব সংজ্ঞা আছে? ধন্যবাদ।
চেরিলিয়াম

আমি সত্যিই জানি না। তবে আপনি মেটাতে চাইতে পারেন ।
NoOneIsHere

3

লুয়া, 52 বাইট

t=0;for i=0,io.read()do t=t+#tostring(i)end;print(t)

0 থেকে লুপের মাধ্যমে পরিমিত হয় - ইনপুট, পূর্ণসংখ্যাকে একটি স্ট্রিতে রূপান্তরিত করে iএবং tমুদ্রণের আগে স্ট্রিংয়ের দৈর্ঘ্য যুক্ত করেt



2

সি #, 77 73 বাইট

-4 বাইটস কেভিন ক্রুইজসেনকে ধন্যবাদ

লাম্বদা ফাংশন:

(r)=>{var l="";for(int i=0,s=r<0?-1:1;i!=r+s;i+=s)l+=i;return l.Length;};

অসম্পূর্ণ এবং পরীক্ষার ক্ষেত্রে:

class P
{
    delegate int numbers(int e);
    static void Main()
    {
        numbers n = (r) =>
        {
            var l = ""; 
            for (int i = 0, s = r < 0 ? -1 : 1; i != r + s; i += s)
                l += i; 
            return l.Length;
        };
        System.Console.WriteLine(n(8));
        System.Console.WriteLine(n(101));
        System.Console.WriteLine(n(102));
        System.Console.WriteLine(n(-10));
        System.Console.ReadKey();
    }
}

আপনি পরিবর্তন করতে পারেন whileথেকে for: বাইট দুয়েক সংরক্ষণ করতে (r)=>{var l="";for(int i=0,s=r<0?-1:1;i!=r+s;i+=s)l+=i;return l.Length;};( 73 বাইট )
কেভিন Cruijssen

@ কেভিন ক্রুইজসেন আপনি ঠিক বলেছেন, ধন্যবাদ
মিঃ স্কেপগ্র্যাস

আপনি সম্ভবত কোনও আইটি কাউন্টার ব্যবহার করতে পারেন এবং কিছু বাইট সংরক্ষণ করতে লুপের অভ্যন্তরে দৈর্ঘ্য যুক্ত করতে পারেন। আপনি যদি একটি সংকলন করেন তবে আপনি 2 বাইট সংরক্ষণের Func<int, int>মতো ফাংশনগুলিতে কল করতে পারেন r=>...(সম্ভবত এটি যেভাবে এটি করতে পারেন)।
TheLethalCoder


2

রেক্সএক্স, 56 বাইট

arg n
l=0
do i=0 to n by sign(n)
  l=l+length(i)
  end
say l
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.