ওয়ান-টু-থ্রি হিসাবে সহজ


35

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

123
234
345
456
567
678
789

তারপরে একটি সত্য মানের মান আউটপুট করুন । অন্যথায়, একটি মিথ্যা মান আউটপুট । উদাহরণস্বরূপ, ইনপুটগুলি

1
2
3
12
122
124
132
321
457
777
890
900
1011
1230
1234

সমস্ত ফলসী আউটপুট ফলাফল অবশ্যই। (ইনপুটটিতে শীর্ষস্থানীয় জিরো থাকবে না তাই আপনার মতো জিনিসগুলির বিষয়ে চিন্তা করার দরকার নেই 012।)

বাইটের মধ্যে সংক্ষিপ্ততম কোডটি জয়ী।


ওহ, স্ট্রিং অনুমোদিত? ডিজিট অ্যারে সম্পর্কে কি?
ডেনিস

@ ডেনিস নং। আসুন এটি সরল স্ট্রিং বা সরল ints এ রাখি।
ক্যালভিনের শখ

6
আমি যদি স্ট্রিং ইনপুট নিই, আমি কি হ্যান্ডেল করব 012?
লিন

1
@ লিন নং 012মিথ্যা হবে তবে আপনি ধরে নিতে পারেন এটি কোনও ইনপুট নয়।
ক্যালভিনের

1
@ ব্র্যাডগিলবার্টব ২ গিলস নং - এটি কেবল সত্যবাদী / মিথ্যা সম্পর্কিত সংযুক্ত সংজ্ঞাটি পূরণ করতে হবে - meta.codegolf.stackexchange.com/questions/2190/…
ক্যালভিনের শখ

উত্তর:


46

পাইথন, 24 বাইট

range(123,790,111).count

একটি বেনামী ফাংশন যা 0 বা 1 আউটপুট দেয় এটি তালিকা তৈরি করে [123, 234, 345, 456, 567, 678, 789]এবং ইনপুটটি কতবার প্রদর্শিত হবে তা গণনা করে।

f=range(123,790,111).count

f(123)
=> 1
f(258)
=> 0

আপনি 123 এর পরিবর্তে 12 এ শুরু করে একটি বাইট সরাতে পারবেন না?
var firstName

1
এটি 12 টি অন্তর্ভুক্ত করার দরকার নেই
xnor

কিন্তু আমরা ধরে নিতে পারি এটি কি ইনপুট হবে না? আমি বিভ্রান্ত
var firstName

1
আপনি যদি মন্তব্যগুলির বিষয়ে কথা বলছেন, তারা বলছেন যে আপনি যদি স্ট্রিং হিসাবে ইনপুট নেন (যা এটি নয়) তবে আপনি সংখ্যাটি নেতৃস্থানীয় শূন্য না থাকার আশা করতে পারেন, তাই 12 "12" হিসাবে দেওয়া হবে এবং " 012 "।
xnor

34

পাইথন, 24 বাইট

lambda n:n%111==12<n<900

শৃঙ্খলাবদ্ধ অবস্থা অনেক।


এমন একটি ব্যাপ্তির তুলনা করতে সক্ষম হচ্ছি যা আমি ইতিমধ্যে জানি যে কোনও ভাষা সহজেই মারধর করে। এটি কীভাবে কাজ করে তা দেখতে আমাকে এটি সন্ধান করতে হবে
গিটারপিকার

বাহ, যদি এটি শব্দটি না হয় তবে lambdaআমি অনুমানও করতে পারতাম না এটি পাইথন। এটা ভয়াবহ।
স্টিভ বেনেট

25

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

(`elem`[123,234..789])

একটি বেনামে ফাংশন। সমান দুরত্বের তালিকা তৈরি করে [123, 234, 345, 456, 567, 678, 789]এবং ইনপুটটি কোনও উপাদান কিনা তা পরীক্ষা করে।


1
কোনভাবেই না! এটাই যাদু!
ওয়াইএসসি

12

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

h:2j:12+?

এটি অনলাইন চেষ্টা করুন! বা সমস্ত পরীক্ষার ক্ষেত্রে যাচাই করুন।

অ্যালগরিদমের জন্য ডেনিসকে ক্রেডিট

ইংরাজীতে, "(প্রমাণ করুন) ইনপুটটির প্রথম সংখ্যাটি, নিজের কাছে দুবার সংলগ্ন হয়ে 12 যোগ করুন, এখনও ইনপুট is"


1
ইহা অসাধারণ!
ডেটাগোড


8

মস্তিষ্ক-ফ্ল্যাক 76 + 3 = 79 বাইট

এই উত্তরটি একটি গলফ হয় এই উত্তর। আমার উত্তরটি কীভাবে কাজ করে তা আমি আসলে জানি না তবে ডিজেএমসিমেহেম তার মূল উত্তরে একটি ভাল ব্যাখ্যা দেয় এবং আমার উত্তরটি তার একটি পরিবর্তন।

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

এটি 3 বাইট যুক্ত -a আসকি পতাকা সহ সঞ্চালিত হয়।

ব্যাখ্যা (প্রকারের)

মূল কার্যনির্বাহী সমাধান দিয়ে শুরু:

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

আমি এটি লিখেছি এবং একটি সহজ গল্ফিং অ্যালগরিদম মাধ্যমে চালাতে পারি:

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

এখান থেকে আমি বিভাগটি দেখতে পাচ্ছি যে এটি সম্পূর্ণরূপে হ্রাস করার <({}[()()()])>{}জন্য {}[()()()]এটিটিকে সমান করে তোলে যা মূলত :

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

শেষ পর্যন্ত নেতিবাচক একত্রিত হতে পারে:

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

14
"আমি আসলে আমার উত্তরটি কীভাবে কার্যকর হয় তা বেশ জানি না" আপনি ইন্টারনেট জিতলেন
Leaky Nun


@ লেকিউনুন আমি বিশ্বাস করি না যে এসকি মোড অনলাইনে এটি ব্যবহার করে কাজ করে। আপনি গিথুব সংস্করণটি পেতে চলেছেন।
গম উইজার্ড

1
@ ওয়েট উইজার্ড এএসসিআইআই মোড অবশ্যই টিআইওতে কাজ করে। আপনি স্ট্যাকের শীর্ষে 48 ('0') যোগ করে এটি যাচাই করতে পারেন । ফাঁস নুনটি ঠিক, অ্যালগরিদম ( আমার অ্যালগোরিদম) ভুল, কারণ এটি কেবলমাত্র পার্থক্যগুলির যোগফল 2 (যা পার্থক্যটি +3 এবং -1 হয় যদি কাজ করে) পরীক্ষা করে। দুর্ভাগ্যক্রমে, আমাদের উভয় উত্তরই ভুল।
ডিজেএমসিএমহেম

1
@ উট উইজার্ড এই উত্তরটি বৈধ বলে মনে হচ্ছে না। এটি অনলাইন চেষ্টা করুন! (আমার মূল উত্তর না পারেন ছিল না)
DJMcMayhem


7

জেলি , 6 বাইট

DI⁼1,1

এটি অনলাইন চেষ্টা করুন! বা সমস্ত পরীক্ষার কেস যাচাই করুন

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

DI⁼1,1  Main link. Argument: n (integer)

D       Decimal; convert n to base 10.
 I      Increments; compute the differences of all pairs of adjacent digits.
   1,1  Yield [1, 1].
  ⁼     Test the results to both sides for equality.

012 মিথ্যা ফিরিয়ে দেয় না, যদিও এটি আসলে কিছুই দেয় না ...
জেমি বার্কার

ইনপুটটি একটি পূর্ণসংখ্যা হতে হবে। যতদূর ast.literal_evalসম্পর্কিত, 012কোনও পূর্ণসংখ্যার প্রতিনিধিত্ব করে না
ডেনিস

7

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

¥XX‚Q

ব্যাখ্যা

¥      # deltas
    Q  # are equal to
 XX‚   # [1,1]

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


আমি 2Å1পরিবর্তে ব্যবহার করেছি XX,, কম কম্যান্ডের হেকের জন্য (5 এর পরিবর্তে 4)।
এরিক দি আউটগল্ফার

@ এরিকগল্ফার リ リ ッ ク ゴ ル フ ァ ー: এবং Åআমার কীবোর্ডে
রচনাযোগ্য

(না ,, আমি ব্যবহার) একটি রচনা-কী অনুক্রম খুব নেই যখন Åহয় oAএকটি স্বীকারোক্তি-ইউএস কীবোর্ডের উপর।
এরিক আউটগল্ফার

6

MATL, 8 bytes

d1=tn2=*

Try it online!

This will print 1 1 for a truthy input, and an array with a 0 in it for a falsy value, since that is falsy in MATL.

Explanation:

d           % Calculate the difference between consecutive digits
 1=         % Push an array of which elements equal one
   t        % Duplicate this array
    n       % Push the length of this array
     2=     % Push a one if the length is 2, and a zero otherwise
            % Now, if we have a truthy input, the stack looks like:
            %   [1 1]
            %   1
            % And if we have a falsy input, the stack looks something like this:
            %   [1 0]
            %   1
            % Or this:
            %   [1 1]
            %   0
       *    % Multiply the top two elements

হতে পারে d1=Ep4=(আমি পুরোপুরি পরীক্ষা করিনি)
লুইস মেন্ডো

1
বা dTTX=5 বাইট জন্য
লুইস মেন্ডো

@ লুইসমেডো ওয়া? কিভাবে এটি কাজ করে? আমি এখানে ডকুমেন্টেশন পাচ্ছি নাT
ডিজেএমসিএমহেম

Tআক্ষরিক true, এবং Fহয় false। পার্শ্ববর্তী Tএবং Fএকসঙ্গে বিদ্ধ, তাই TTহয় [true true]যা এই উদ্দেশ্যে সমতূল্য, [1 1]। -এর 4.3 দেখুন বৈশিষ্ট
লুইস Mendo

6

জাভা 7, 46 বাইট

boolean f(int a){return a>12&a<790&a%111==12;}

চ্যাটে লিকি নুনের সাথে বেশ কয়েকটি জিনিস চেষ্টা করার পরে এটি সবচেয়ে কম বলে মনে হয়। কখনও কখনও আপনি সরাসরি জিনিস সরাসরি করতে হবে: /

ব্যাখ্যা:

boolean f(int a){
    return a>12         Is it more than 12? (stupid edge case)
           &
           a<790        Is it in range the other way? 
           &
           a%111==12;   Is it 12 more than a multiple of 111? 
}

6

পার্ল 6 ,  35 29 24 21  19 বাইট

{.chars==3&&'0123456789'.index: $_}
{$_ (elem) (123,*+111...789)}
{$_∈(123,*+111...789)}
*∈(123,*+111...789)
*∈(123,234...789)

ব্যাখ্যা:

# Whatever lambda ( the parameter is 「*」 )
*

 # is it an element of:

# this sequence
(
  123,
  234,

  # deduce rest of sequence
  ...

  # stop when you generate this value
  789
)

ব্যবহার:

my &code = *∈(123,234...789);

say code 123; # True
say code 472; # False

say (  *∈(123,234...789)  )( 789 ); # True


5

রুবি, 32 30 25 + 2 = 27 বাইট

জন্য +2 বাইট -nlপতাকাগুলির ।

এসটিডিআইএন এবং প্রিন্টগুলিতে ইনপুট নেয় trueবা false

p"123456789"[$_]&.size==3

এটি repl.it এ দেখুন: https://repl.it/DBn2/2 (▶ on ক্লিক করুন এবং তারপরে নীচের কনসোলে ইনপুট টাইপ করুন))


আপনার পরীক্ষাগুলি 12 টি সত্য হয়ে যাচ্ছে going
xnor

@ এক্সনর ওফস এটি আমাকে শোবার পরে গল্ফ শিখিয়ে দেবে। সংশোধন করা হয়েছে!
জর্ডান

আমি ভেবেছিলাম -aকি split, না chop? এছাড়াও, কি করে &? আমি একটি পুরানো রুবি ব্যবহার করছি যা একটি ত্রুটি ছুঁড়ে ফেলেছে। যাইহোক, এটি ছাড়াই এটি 26 বাইটে পুরোপুরি কাজ করে।
এক্সসট

উফ, আমি বোঝাতে চাইছি -lনা -a&.এটি "নিরাপদ নেভিগেশন" অপারেটর, রুবি ২.৩-এ যুক্ত হয়েছে। এটির মতো ইনপুটগুলি 19যা সাবস্ট্রিংগুলি নয় তা যদি "123456789"কোনও নোমথোডেরর উত্থাপন করে।
জর্দান

@ জর্ডান আমি ২.২-তে ত্রুটি পাচ্ছি না। ২.৩-তেও নতুন হতে পারে?
এক্সসট

5

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

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

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

পতাকাটির +1জন্য এটি 98 বাইটের কোড -a

1সত্যবাদিতার জন্য এটি মুদ্রণ করে এবং মিথ্যাচারের জন্য হয় 0বা কিছুই বা (যা 0 এর সমান)


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

আপনার প্রোগ্রামটির আমার 76 বাইট গল্ফ এখানে । আমি বেশ কয়েকটি কাস্টম সেটিংস সহ আপনার কোডের উপরে আমার মস্তিষ্ক-ফ্লাক অপটিমাইজারকে দৌড়েছি।
গম উইজার্ড


4

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

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

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

সঠিক সংস্করণ (প্রশ্নের উদ্ভবের ক্ষেত্রে): পূর্ণসংখ্যাকে ইনপুট হিসাবে গ্রহণ করে, মিথ্যাটির জন্য আউটপুট 0 এবং সত্যের জন্য 1 নেয়।

এই না স্ট্যাকের পরিষ্কার।

অ্যালগরিদম

ইনপুট হতে দিন n

আউটপুট সত্য সত্য iff (n-123)(n-234)(n-345)(n-456)(n-567)(n-678)(n-789)=0

আমি প্রথমে ১২ টি বিয়োগ করে এবং তারপরে ১১১ টি বিয়োগ করে এই সাতটি সংখ্যাটি গণনা করেছি এবং তারপরে এই সাতটি সংখ্যার লজিক্যাল ডাবল-ননটি গণনা করে এগুলি যুক্ত করেছি।

সত্য ফলাফলের জন্য, যোগফল 6 হয়; মিথ্যা ফলাফলের জন্য, যোগফল 7 হয়।

তারপরে, আমি যোগফলটি 7 থেকে বিয়োগ করে উত্তরটি আউটপুট করি।


আমি কোডটি বুঝতে পারি না, তবে অ্যালগরিদম চালাক তাই একটি +1 রাখুন।
সাইয়েস

4

আর, 30 22 বাইট

scan()%in%(12+1:7*111)

বিশেষভাবে উত্তেজনাপূর্ণ নয়; পরীক্ষা ইনপুট 12 + + 111k, কর্তৃক প্রদত্ত ক্রমানুসারে হলে যেখানে ট 1 7. উল্লেখ্য যে প্রতিটি :তার আগে বসেছে *তাই গুণ পর ক্রম উৎপন্ন হয় ঘটবে।


4

সি # (ভিজ্যুয়াল সি # ইন্টারেক্টিভ সংকলক) , 41 30 23 বাইট

প্রথম কোড-গল্ফ জমা দেওয়া, নম্র হওয়া :)

a=>{return a>12&&a<790?a%111==12:false;};
a=>a>12&&a<790?a%111==12:false
a=>a>12&a<790&a%111==12

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

  • -11 বাইট ধন্যবাদ কিরিল এলকে ধন্যবাদ
  • আর -7 বাইট কেবলমাত্র ASCII- এর জন্য ধন্যবাদ।

1
পিপিসিজিতে আপনাকে স্বাগতম! আপনি কোঁকড়া ধনুর্বন্ধনী এবং returnকীওয়ার্ড ফেলে কিছু বাইট সংরক্ষণ করতে পারেন : 30 বাইট
ক্যারিল এল


1
চমৎকার প্রথম জমা!
অবজ্ঞানের

3

Brainfuck, 43 বাইট

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

বাহ, আমি এই ভাল না। আউটপুট \x01যদি আউটপুট স্ট্রিং এক 123, 234, ..., 789; \x00অন্যথায় আউটপুট ।

(আমি জাভা 7 টি পরাজিত করেছি, যদিও…)

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


কিসের কথা [>>]<? তা কি ঠিক হতে পারে না >?
ডিজেএমসিএমহেম

যদি পয়েন্টারের নীচে ঘরটি সেই সময়ে শূন্য না হয় তবে আমি প্রোগ্রামটি ব্যর্থতায় ফেলতে চাই (এটি অফ-ট্র্যাক ছুঁড়ে দিয়ে) ।
লিন


@ ল্যাকইনুন যা সম্পূর্ণ আলাদা দেখায়; এটিকে একটি পৃথক উত্তর হিসাবে নির্দ্বিধায় পোস্ট করুন
লিন


3

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

n=>1>(n-12)%111&n>99&n<790

এটি এটিকে কাজে লাগায় যে আমি বুলিয়ানগুলি (যা বিট-ভিত্তিক!) বিট-ওয়াইজ লজিক অপারেটরগুলি ব্যবহার করছি

2 সংরক্ষণের জন্য তিতাসকে ধন্যবাদ।


1
দুটি বাইট: (n-12)এবংn>99
তিতাস

@ টিটাস ওহ, আপনাকে খুব সুন্দর!
ওয়েলওয়েস্ট

1
=> ES6, ES5 নয়।
নীল

1
আমি বিশ্বাস করি যে এটি মেটাতে সিদ্ধান্ত নেওয়া হয়েছিল যে আপনাকে এই 26 বাইট তৈরি করতে "f =" গণনা করতে হবে না
চার্লি উইন

1
@WallyWest আমি মনে করি কারণ এটি প্রতিটি ক্ষেত্রে ফাংশনটি ব্যবহার করার জন্য "f =" থাকা দরকার নেই, তবে এই ক্ষেত্রে এর জন্য আপনার এটির প্রয়োজন কেন? লোকেরা আমার চেয়ে স্মার্ট করে সিদ্ধান্ত নিয়েছে যে এটি ঠিক আছে তাই আমি কেবল এটির সাথে চলে যাই;)
চার্লি ওয়েন

3

এক্সেল - 62 57 35 31 বাইট

আনাস্তাসিয়া-রোমানোয়ার উত্তরের ভিত্তিতে, তবে এক্সেলের TRUE/FALSEমানগুলি ফিরিয়ে দেওয়া ।

=AND(LEN(N)=3,MID(N,2,1)-MID(N,1,1)=1,MID(N,3,1)-MID(N,2,1)=1)

আরও, আমরা পেতে পারেন

=AND(LEN(N)=3,MID(N,2,1)-LEFT(N)=1,RIGHT(N)-MID(N,2,1)=1)

যেহেতু উভয় RIGHTএবংLEFT ডিফল্টরূপে একটি একক অক্ষর ফিরে।

এবং, পাইথন কয়েকটি সমাধান থেকে অনুপ্রাণিত:

=AND(LEN(N)=3,MOD(N,111)=12,N<>900)

নীলকে আরও 4 টি বাইটের জন্য ধন্যবাদ ...

=AND(N>99,MOD(N,111)=12,N<900)

N<900আপনাকে একটি বাইট সংরক্ষণ করে না , এক্ষেত্রে আপনি N>99পরিবর্তে ব্যবহার করতে পারেন LEN(N)=3
নিল

1
21 বাইট: রেফারেন্স সেলের নাম =REPT(LEFT(N),3)+12=Nকোথায় N
ইঞ্জিনিয়ার টোস্ট

3

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

ẹ~⟦₂-_2

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

ব্যাখ্যা

ẹ~⟦₂-_2
ẹ        Split into digits
 ~⟦₂     Assert that this is an increasing range; take its endpoints
    -_2  Assert that the starting minus ending endpoint is -2

একটি সম্পূর্ণ প্রোগ্রাম হিসাবে, আমরা সমস্ত আসক্তি ধরে রাখলে সত্যবাদী রিটার্ন পাই, যদি কোনও ব্যর্থ হয় তবে একটি মিথ্যা ফেরত পাওয়া যায়।


3

CJam, 13 9 বাইট

A,s3ewqe=

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

ব্যাখ্যা

A,s        e# Push "0123456789".
   3ew     e# Split it into contiguous length-3 chunks: ["012" "123" "234" ... "789"].
      q    e# Push the input.
       e=  e# Count the number of times the input appears in the array.

5
সংখ্যাটির মতো হলে কাজ করে না2345
মাল্টেসেন

@ মালটিসেন স্থির
ব্যবসায় ক্যাট

2

এক্সেল - 104 বাইট

=IF(LEN(N)<3,"Falsy",IF(AND(LEN(N)=3,MID(N,2,1)-MID(N,1,1)=1,MID(N,3,1)-MID(N,2,1)=1),"Truthy","Falsy"))

ব্যাখ্যা:

এক্সেলের আইএফ সূত্রের বাক্য গঠনটি হ'ল:

IF( condition, [value_if_true], [value_if_false] )

যদি ইনপুট দৈর্ঘ্য N ইনপুটটির , যেখানে এটি রেফারেন্স সেলের নাম, এটি 3 এরও কম হয়, তবে এটি ফালসি ফিরে আসবে । অন্যথায়, যদি ইনপুটটির দৈর্ঘ্য N3 হয় এবং উভয়ই দ্বিতীয় সংখ্যা এবং প্রথম অঙ্কের পার্থক্য এবং তৃতীয় অঙ্ক এবং দ্বিতীয় অঙ্কের পার্থক্য 1 এর সমান হয়, তবে এটি ট্রুটিটি ফিরিয়ে দেবে


21 বাইট: রেফারেন্স সেলের নাম =REPT(LEFT(N),3)+12=Nকোথায় N
ইঞ্জিনিয়ার টোস্ট 18

2

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

স্ট্রিং আর্গুমেন্ট নেয়।

1 1≡¯2-/⍎¨

1 1≡ {1, 1 to এর মতো

¯2-/ বিপরীত যুগল ভিত্তিক পার্থক্য

⍎¨ প্রতিটি চরিত্র একটি সংখ্যা হিসাবে নেওয়া?

অনলাইনে চেষ্টা করুন! ( সুরক্ষার কারণে এটিকে অনুকরণ করা হয়েছে e))


2

পার্ল, 18 বাইট

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

এসটিডিনে ইনপুট দিয়ে চালান

123.pl <<< 123

123.pl:

#!/usr/bin/perl -p
$_=$_=/./.2==$_-$&x3

2

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

<?=($n=$_GET[n])-12==$n[0]*111;

(সংখ্যা বিয়োগ 12) এর প্রথম সংখ্যাটি 111 এর একাধিক কিনা তা পরীক্ষা করুন


2

পাওয়ারশেল v3 +, 24 বাইট

($args[0]-12)/111-in1..7

কিছু অন্যান্য উত্তর হিসাবে একই "111 প্লাস 12 এর একাধিক" কৌশলটি ব্যবহার করে , তবে অন্য দিকে যায়। ইনপুট নেয় $args[0], বিয়োগ করে 12, ভাগ করে 111, এবং -inএটি পরিসীমা কিনা তা পরীক্ষা করে 1..7। একটি বুলিয়ান সত্য / মিথ্যা মান আউটপুট। -inঅপারেটরের জন্য v3 + প্রয়োজন ।

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

PS C:\Tools\Scripts\golfing> 123,234,345,456,567,678,789|%{.\easy-as-one-two-three.ps1 $_}
True
True
True
True
True
True
True

PS C:\Tools\Scripts\golfing> 1,2,3,12,122,124,132,321,457,777,890,900,1011,1230,1234|%{.\easy-as-one-two-three.ps1 $_}
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False

2

এআরএম মেশিন কোড, 18 বাইট

হেক্স ডাম্প (ছোট এন্ডিয়ান):

3803 d105 6808 ebc0 2010 b280 f2a0 1001 4770

এটি একটি ফাংশন যা স্ট্রিংয়ের জন্য দৈর্ঘ্য, পয়েন্টার জোড় লাগে। আউটপুটটি বাশ-স্টাইল, এটি সত্যের জন্য 0 এবং মিথ্যাটির জন্য একটি শূন্যের মান দেয়। সিতে ফাংশনটি আন্তঃআপনি তিনটি ঘোষণা করা হবে (আকার_ দৈর্ঘ্য, চর * স্ট্রিং)। নির্দেশিকাটির এনকোডিংটি থাম্ব -2, যাতে 2 এবং 4 বাইট নির্দেশ রয়েছে। একটি রাস্পবেরি পাই 3 পরীক্ষিত।

অবহেলিত সমাবেশ:

.syntax unified
.text
.global oneTwoThree
.thumb_func
oneTwoThree:
    @Input: r0 - the number of characters in the string
    @r1 - A pointer to the (not necessarily NUL-terminated)
    @string representation of the number (char*)
    @Output: r1 - 0 if the number is in 123,234,...,789, else non-zero (bash-style)
    subs r0,r0,#3
    bne end @Return non-zero if r0!=3
    ldr r0,[r1] @Remember that this is little endian
    @So the first digit is the most siginificant byte
    @I.e. if the input was 123 then r0 contains 0xXY010203 where XY is garbage

    rsb r0,r0,r0,lsr #8 @r0=(r0>>8)-r0 (rsb is reverse subtract)
    uxth r0,r0 @r0&=((1<<16)-1) (mask off top half)
    @Now r0 is 0x0101 iff we have a matching number
    sub r0,r0,#0x101
    @Now r0 is 0 iff the string fit the specification

    end:
    bx lr @return

পরীক্ষার স্ক্রিপ্ট (এছাড়াও সমাবেশ):

.syntax unified
.text
.global main
.thumb_func
main:
    push {r4,lr}
    ldr r4,[r1,#4] @r0=argv[1]
    mov r0,r4
    bl strlen
    @Now r0 is the length of the string argv[1]
    mov r1,r4
    bl oneTwoThree @oneTwoThree(strlen(argv[1]),argv[1])
    cmp r0,#0
    it ne
    movne r0,#1 @Output through return code, 1 if false
    pop {r4,pc}

2

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

এবং জেএসে আরও একটি বিকল্প। একটি স্ট্রিং এবং আউটপুট হিসাবে ইনপুট লাগে 0জন্য falseএবং 1জন্য true

n=>++n[0]==n[1]&++n[1]==n[2]&!n[3]

আমার অন্যান্য সমাধানগুলি এখানে এবং এখানে দেখুন


চেষ্টা করে দেখুন

f=
n=>++n[0]==n[1]&++n[1]==n[2]&!n[3]
i.addEventListener("input",_=>o.innerText=f(i.value))
<input id=i type=number><pre id=o>

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