আমাকে গণনা করুন!


24

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

উদাহরণ

স্নিপেট ABCহলে টেস্ট কেস হয়

ABC 
1 1 1
ABCABC
2 2 2
ABCABCABCABCABCABCABCABCABC
9 11 9
ABCABCABCABCABCABCABCABCABCABCABCABC
12 14 C
ABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABC
18 22 12

4
আমি কি প্রিন্ট করি ঠিক আছে 1 01 0x1? (উপসর্গ সহ)
ব্লু

যদি আপনার অন্তর্নিহিত ইনপুট / আউটপুট সহ কোনও ভাষা থাকে তবে আপনার কাছে একটি 1 বাইট সমাধান থাকতে পারে যা সবেমাত্র মান
বাড়িয়ে দিয়েছে

উত্তর:


11

জাপট, 12 বাইট

[°TTs8 TsG]¸

2 বাইট সংরক্ষণের জন্য @ETH প্রডাকশনগুলিকে ধন্যবাদ !

আমার উত্তর হিসাবে একই।


7
: হে আপনি ডেনিসকে পরাজিত করলেন!
ডাউনগোট

অনুমিত it এটি করতে পারে না, এবং আপনি ইতিমধ্যে টিস্ক্রিপ্ট করেছিলেন এবং আমি জল্ফকে চিনি না, তাই আমি জাপ্ট ব্যবহার করেছি used
মামা ফান রোল

দুর্দান্ত :) এখানে 2 টি বাইট সংরক্ষণ করা হয়েছে:[°TTs8 TsG]¸
ETH প্রোডাকশন

ওহ, তা দেখেনি। ধন্যবাদ!
মামা ফান রোল

14

পার্ল, 30 বাইট

printf"\r%d %o %x",++$n,$n,$n;

লাইনের শুরুতে ফিরে যান, ইনক্রিমেন্ট কাউন্টার এবং প্রিন্ট কাউন্টার পুরানো আউটপুট ওভাররাইট করে।


নির্দিষ্টকরণের গর্ত চিহ্নিত করার জন্য +1, আউটপুট মুছে ফেলা এই চ্যালেঞ্জকে তুচ্ছ করে তোলে।
আকাংকা


1
যে উভয়ই চ্যালেঞ্জ ধ্বংস।
আকংকা

12

জাভাস্ক্রিপ্ট, 54 53 51 47 বাইট

@ ব্যবহারকারী 81655 ধন্যবাদ 4 বাইট সংরক্ষণ করা

var d=-~d;d+` ${d[b='toString'](8)} `+d[b](16);

আমি আসলে কিন্ডা এই কাজগুলি অবাক।

ব্যাখ্যা

var d=-~d;  // `var` let's `d` not throw an error if it's not defined 
            // -~ essentially increments the variable
d+                    // decimal
` ${                  // space character
   d[b='toString'](8) // octal
} `                   // space character
+d[b](16)             // Hexadecimal

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


প্রথমত আপনি ভ্যারিয়াকে সরাতে পারেন
কনর

@ সিওবি'এর ফলে একটি ত্রুটি ঘটে: ReferenceError: Can't find variable: dএমনকি লুজ মোডেও ডি:
ডাউনগোট

নেই d=d?d+1:1কাজ করে?
কনর ও'ব্রায়ান

@ CᴏɴᴏʀO'Bʀɪᴇɴ নাঃ, এখনও একটি রেফারেন্স ত্রুটি ছোঁড়া, অদ্ভুত বিবেচনায় আলগা মোড সক্ষম হয় ...
Downgoat

ওহহহ, কারণ আমরা এটি অ-সংজ্ঞায়িত হলেও ডি অ্যাক্সেস করার চেষ্টা করছি
কনর ও'ব্রায়ান

7

সি ++, 205 179 বাইট

int main(){};static int c=1;
#define v(x) A##x
#define u(x) v(x)
#define z u(__LINE__)
#include <cstdio>
class z{public:z(){++c;};~z(){if(c){printf("%d %o %x",--c,c,c);c=0;}}}z;//

(কোনও পূর্ববর্তী নিউলাইন নেই - অনুলিপি করা হলে অনুলিপিটির প্রথম লাইন এবং মূলের শেষ লাইনটি মিলবে)

মূলত, এটি স্ট্যাটিক ভেরিয়েবলগুলির ক্রম তৈরি করে কাজ করে যা, নির্মাণের পরে, একটি গ্লোবাল ভেরিয়েবল কাউন্টারকে বৃদ্ধি করে। তারপরে, ধ্বংসের সময়, যদি কাউন্টার 0 না হয় তবে এটি তার সমস্ত আউটপুট করে এবং কাউন্টারটিকে শূন্যে সেট করে।

কোনও নাম বিবাদ সহ ভেরিয়েবলের ক্রম সংজ্ঞায়িত করার জন্য, আমরা ম্যাক্রোটিকে নীচে ব্যাখ্যা করা ব্যবহার করেছি:

#define v(x) A##x    //This concatenates the string "A" with the input x.
#define u(x) v(x)    //This slows down the preprocessor so it expands __LINE__ rather than yielding A__LINE__ as v(__LINE__) would do.
#define z u(__LINE__)//Gives a name which is unique to each line.

যা কিছুটা স্ট্রিং প্রসেসরের কুইর্কের উপর নির্ভর করে। আমরা zক্লাস / ভেরিয়েবলগুলি সংজ্ঞায়িত করতে বহুবার ব্যবহার করি যা পৃথক লাইনে অনুলিপি করা হলে একে অপরের সাথে বিরোধের সৃষ্টি করবে না। তদুপরি, সংজ্ঞাগুলি যা একবারেই ঘটতে হবে তা প্রথম লাইনে স্থাপন করা হয়েছে, যা কোডটির অনুলিপিগুলিতে মন্তব্য করা হয়েছে। #defineএবং #includeবিবৃতি পরোয়া করি না যে, তারা বার বার পেতে, তাই কোন বিশেষ হ্যান্ডলিং প্রয়োজন।

এই কোডটি বিবৃতিতে অপরিজ্ঞাত আচরণের বৈশিষ্ট্যও দেখায়:

printf("%d %o %x",--c,c,c)

যেহেতু কোনও সিকোয়েন্স পয়েন্ট নেই, তবে সি সংশোধিত এবং অ্যাক্সেস করা হয়েছে। এলএলভিএম 6.0 একটি সতর্কতা দেয়, তবে এটি পছন্দসই হিসাবে সংকলন করে - যা --cআগে মূল্যায়ন করে c। একজন, দুটি বাইট ব্যয়ে, --c;আউটপুটগুলির আগে বিবৃতি যুক্ত করতে এবং এতে পরিবর্তন --cকরতে printfপারে c, যা সতর্কতা থেকে মুক্তি পেতে পারে।


আমার ভাইয়ের পরামর্শের জন্য 26 বাইট সংরক্ষণের মাধ্যমে প্রতিস্থাপন std::coutকরা printfহয়েছে।


6

সিজেম, 20 19 18 বাইট

];U):USU8bSU"%X"e%

1 বাইট বন্ধ করে গল্ফ করার জন্য @ মার্টিনব্যাটনারকে ধন্যবাদ!

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

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

]                  e# Wrap the entire stack in an array.
 ;                 e# Discard the array.
  U                e# Push U (initially 0).
   ):U             e# Increment and save in U.
      S            e# Push a space.
       U8b         e# Convert U to base 8 (array of integers).
          S        e# Push a space.
           U"%X"e% e# Convert U to hexadecimal (string).

4

𝔼𝕊𝕄𝕚𝕟, 14 অক্ষর / 28 বাইট

[⧺Ḁ,Ḁß8,Ḁⓧ]ø⬭;

Try it here (Firefox only).

প্রথম উত্তর! যদিও এটি পরিচালনা করার জন্য আরও ভাল উপায় আছে।

ব্যাখ্যা

[⧺Ḁ,Ḁß8,Ḁⓧ]ø⬭; // implicit: Ḁ = 0
[⧺Ḁ,             // increment Ḁ by 1
    Ḁß8,         // octal representation of Ḁ
        Ḁⓧ]     // hex representation of Ḁ
            ø⬭; // join above array with spaces
                 // repeat as desired until implicit output

7
এমনকি এই ভাষা কি?
কোল জনসন


3

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

বর্তমান প্রকাশ (6.0.0) ব্যবহার করে । অক্টাভেতে কাজ করে।

0$N1+ttYUb8YAb16YA3$XhZc1$

উদাহরণ

একদা:

>> matl 0$N1+ttYUb8YAb16YA3$XhZc1$
1 1 1

দুবার:

>> matl 0$N1+ttYUb8YAb16YA3$XhZc1$0$N1+ttYUb8YAb16YA3$XhZc1$
2 2 2

16 বার:

>> matl 0$N1+ttYUb8YAb16YA3$XhZc1$0$N1+ttYUb8YAb16YA3$XhZc1$0$N1+ttYUb8YAb16YA3$XhZc1$0$N1+ttYUb8YAb16YA3$XhZc1$0$N1+ttYUb8YAb16YA3$XhZc1$0$N1+ttYUb8YAb16YA3$XhZc1$0$N1+ttYUb8YAb16YA3$XhZc1$0$N1+ttYUb8YAb16YA3$XhZc1$0$N1+ttYUb8YAb16YA3$XhZc1$0$N1+ttYUb8YAb16YA3$XhZc1$0$N1+ttYUb8YAb16YA3$XhZc1$0$N1+ttYUb8YAb16YA3$XhZc1$0$N1+ttYUb8YAb16YA3$XhZc1$0$N1+ttYUb8YAb16YA3$XhZc1$0$N1+ttYUb8YAb16YA3$XhZc1$0$N1+ttYUb8YAb16YA3$XhZc1$
16 20 10

ব্যাখ্যা

আমরা স্নিপেটটি কতবার চালিয়েছি তা নির্দেশ করতে স্ট্যাকের উপাদানগুলির সংখ্যা ব্যবহৃত হয়

0$         % specify zero inputs for next function, in case this is not the first
           % occurence of the snippet.
N          % number of elements in stack
1+         % add one
tt         % duplicate twice. We now have three copies of the number
YU         % convert to string (decimal)
b8YA       % bubble up number and convert to octal string
b16YA      % bubble up number and convert to hex string
3$XhZc     % join top three elements (strings) with a space
1$         % specify one input for next function. If the program ends here, that next
           % function will be implicit display, so it will print the top of the stack.
           % Else the stack will be left with one element more than at the beginning of
           % the current snippet

2

ওক্যামল, 198 বাইট

;;open Char
;;(if Sys.argv.(0).[0]='~'then Sys.argv.(0).[0]<-'\000'else Sys.argv.(0).[0]<-chr(1+int_of_char Sys.argv.(0).[0]));let n=1+int_of_char Sys.argv.(0).[0]in Printf.printf"\r%d %o %x"n n n

একটি ট্রেলিং করা নতুন লাইন অন্তর্ভুক্ত করে এবং এটির প্রয়োজন হয় যে ফাইলের নামটি টিলড দিয়ে শুরু হবে (আমি ব্যবহার করেছি ~.ml; আপনি এটি দিয়ে চালাতে পারেন ocaml \~.ml) কারণ এটি সর্বাধিক মূল্যবান স্ট্যান্ডার্ড প্রিন্টযোগ্য এএসসিআইআই অক্ষর। কোনও স্ট্রিংয়ের সমস্ত অক্ষরই পারস্পরিক পরিবর্তনযোগ্য এবং Sys.argv.(0).[0]ফাইলনামের প্রথম অক্ষর Ab

এটি কেবল n = 1 থেকে 126 এর জন্য কাজ করা উচিত কারণ ASCII কোডটি ~126 এবং আমি আউটপুটে একটি যুক্ত করছি। এটি কেবলমাত্র n = 1 থেকে 125 করতে চাইলে এটি দুটি বাইট সংক্ষিপ্ত করা যায় it's

এটি আমার প্রথম গল্ফ তাই কোনও মন্তব্য বা উন্নতি অনেক প্রশংসা হবে।

অবরুদ্ধ সংস্করণ:

;; open Char
;; if Sys.argv.(0).[0] = '~' 
   then Sys.argv.(0).[0] <- '\000'
   else Sys.argv.(0).[0] <- chr (1 + int_of_char Sys.argv.(0).[0])
;; let n = 1 + int_of_char Sys.argv.(0).[0] in
   Printf.printf "\r%d %o %x" n n n

+1, আমার প্রশ্নের অনেকগুলি ছিদ্র আমাকে নিজের প্রশ্নকে নীচে নামিয়ে বেছে নিতে বাধ্য করে। (যদিও আমি এটি করতে পারি না))
আকাংকা

আমি বারবার সম্পর্কে সন্দেহজনক Sys.argv.(0).[0]। যদিও ওসিএএমএল সম্পর্কে আমি বেশি কিছু জানি না।
আকাংকা

2

টিস্ক্রিপ্ট , 21 20 বাইট

[┼d,dT8),dT16)]j(p);

আমার এটিকে স্বয়ংক্রিয়ভাবে বন্ধ করা উচিত ;

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

ব্যাখ্যা

হয়ে ++

    // Implicit: d = 0
[   // Start array
 ++d,  // Increment d, decimal value
dT8),  // d to base 8
dT16)  // d to base 16
]j(p); // Join by spaces
    // Implicit: Output *last* expression

Downvote? এই উত্তর কিছু ভুল আছে? এএসসিআইআই চরিত্রের ঝাঁকুনির সাথে কী কী এটি করা যায় কারণ এটি যদি কম না হয় তবে কয়েক মিনিটের মধ্যেই এটি
ডাউনভোট হয়ে

1

পার্ল, 40 বাইট

$_=<<'';printf"%d %o %x",(1+y/z//)x3;
:

কোলনের পিছনে একটি চূড়ান্ত নিউলাইন রয়েছে।

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

যদি স্ট্ডারগুলিতে অতিরিক্ত আউটপুট অনুমোদিত হয় তবে আমরা 2 টি একক উদ্ধৃতি বাদ দিতে ''পারি এবং 38 বাইটে নামতে পারি। ছাড়া''পার্ল হ্রাস করা বৈশিষ্ট্য সম্পর্কে সতর্কতা প্রেরণ করে।


1

গণিত, 76 বাইট

দ্রষ্টব্য যে এর nআগে কোনও সংজ্ঞা নেই।

0;If[ValueQ@n,++n,n=1];StringJoin@Riffle[IntegerString[n,#]&/@{10,8,16}," "]

এখানে, আচরণ ;ব্যবহার করা হয়। উপরের স্নিপেটটি একটি একক CompoundExpression, তবে, যখন কয়েক স্নিপেট একসাথে রাখা হয়, CompoundExpressionনীচে দেখানো আছে সেখানে এখনও একটি রয়েছে । (কিছু অপ্রয়োজনীয় পুনঃব্যবস্থা তৈরি করা হয়েছে))

0;
If[ValueQ@n,++n,n=1]; StringJoin@Riffle[IntegerString[n,#]&/@{10,8,16}," "] 0;
If[ValueQ@n,++n,n=1]; StringJoin@Riffle[IntegerString[n,#]&/@{10,8,16}," "] 0;
If[ValueQ@n,++n,n=1]; StringJoin@Riffle[IntegerString[n,#]&/@{10,8,16}," "]

(* 3 3 3 *)

সুতরাং লিখিতভাবে স্পষ্ট করে যদি কেউ এই ধরনের স্নিপেট কাজ করতে পারে না CompoundExpression। এছাড়াও, আপনার পছন্দ মতো প্রায় সমস্ত কিছু আগে ;যেমন E, Piবা MandelbrotSetPlot[], আগে রাখা যেতে পারে ।


1

ব্যাশ, 49 বাইট

ফাইল count.bash:

((++n));trap 'printf "%d %o %x\n" $n $n $n' exit;

... কোনও পেছনের নিউলাইন নেই।

চালান:

$ bash count.bash
1 1 1
$ cat count.bash count.bash count.bash | bash
3 3 3
$ for i in $(seq 10) ; do cat count.bash ; done | bash
10 12 a

1

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

n=len(open(__file__).read())/54;print n,oct(n),hex(n)#

কোনও পূর্ববর্তী নিউলাইন নেই। ফর্ম আউটপুট 1 01 0x1

যদি এটি ঠিক না থাকে তবে 56 বাইট

n=len(open(__file__).read())/56;print"%d %o %x"%(n,n,n)#

একে অপরের সামনে পেস্ট করা হলে, প্রতিটি বার আটকানোর জন্য ফাইলটির দৈর্ঘ্য 1 লাইন দীর্ঘ হয়। বেস কেসটি 2 টি লাইন দিয়ে শুরু হয় যাতে আপনাকে লাইনের দৈর্ঘ্য থেকে 1 বিয়োগ করতে হবে। মন্তব্যে গণনা দমন করা হয়।


"%d %o %x"%(n,n,n), এটি দুর্দান্ত। আপনি এটা করতে পারেন আমার ধারণা ছিল না। যদি এটি সক্রিয় হয় যে উপসর্গগুলি ছেড়ে যাওয়া ঠিক নয় তবে আমি এটি ধার করতে চলেছি।
rp.beltran

1

পাইথন 2.x 140 বাইট

এটি অত্যধিক প্রতিযোগিতামূলক সমাধান হিসাবে বোঝানো হয়নি, তবে এমন একটি পদ্ধতি যা আমি মজাদার বলে মনে করেছিলাম, এক জিনিস হিসাবে, বহুবিবাহিত কোড গল্ফের একটি প্রচেষ্টা ।

import thread;n=eval("n+1")if"n"in globals()else 1;
def t(c):99**99;print("%s "*3)%(n,oct(n),hex(n))*(c==n)
thread.start_new_thread(t,(n,));

একটি কাউন্টার রাখে, প্রতিটি গণনার জন্য একটি থ্রেড তৈরি করে এবং কাউন্টারগুলি যদি ব্যয়বহুল গণিতের সমস্যা সমাপ্ত করার পরে (বাইটগুলি সংরক্ষণ করার জন্য টাইমারের পরিবর্তে) বন্ধ হয়ে যায় তখন কাউন্টার পরিবর্তন না হলে ফর্ম্যাট করা স্ট্রিংটি মুদ্রিত হয়।

কিছু উদাহরণ কনফিগারেশন এবং তাদের আউটপুট:

import thread;n=eval("n+1")if"n"in globals()else 1;
def t(c):99**99;print("%s "*3)%(n,oct(n),hex(n))*(c==n)
thread.start_new_thread(t,(n,));

Outputs 1 01 0x1 

এবং পনেরটি অনুলিপি পেস্ট করুন:

import thread;n=eval("n+1")if"n"in globals()else 1;
def t(c):99**99;print("%s "*3)%(n,oct(n),hex(n))*(c==n)
thread.start_new_thread(t,(n,));import thread;n=eval("n+1")if"n"in globals()else 1;
def t(c):99**99;print("%s "*3)%(n,oct(n),hex(n))*(c==n)
thread.start_new_thread(t,(n,));import thread;n=eval("n+1")if"n"in globals()else 1;

...


Outputs 15 017 0xf 

thread.start_new_threadঅজগর কোড গল্ফিংয়ের জন্য আরও খারাপ পদ্ধতির নামের কথা চিন্তা করতে পারে?
rp.beltran

আমি পাইথন 3.x এই কাজ, আমি কিছুই যে আমি সচেতন আছি হবে না দেখতে না কিনা তা দেখতে আগ্রহী হবে, কিন্তু আমি পাইথন 3. কখনও সম্পন্ন হয়েছে থ্রেডিং আছে
rp.beltran


0

রুবি, 35 বাইট

1;$.+=1;$><<"#$. %1$o %1$x"%$.*-~-0

প্রতিটি স্নিপেট বৃদ্ধি $.(কোনও ফাইল না পড়লে 0 হিসাবে শুরু হয়) তবে কেবল সর্বশেষ আউটপুট দেয়। স্ট্রিংটি একবার মুদ্রণের অর্থ *-~-0মূল্যায়ণ করে *1তবে কন্টকেনটেশন দিয়ে এটি হয়ে যায় *-~-01, একটি অক্টাল এক্সপ্রেশনটি 0 এ মূল্যায়ন করে যেহেতু $><<একটি অনুবর্তনযোগ্য নিউলাইন অন্তর্ভুক্ত নয়, খালি স্ট্রিং প্রিন্ট করার অর্থ কিছুই মুদ্রিত হয় না।

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