অনুপস্থিত পূর্ণসংখ্যাকে আউটপুট দেয়


34

আপনাকে একটি স্ট্রিং দেওয়া হবে। এটিতে 0-9 থেকে 9 টি অনন্য পূর্ণসংখ্যা থাকবে। আপনাকে অবশ্যই অনুপস্থিত পূর্ণসংখ্যাকে ফেরত পাঠাতে হবে। স্ট্রিংটি এর মতো দেখাবে:

123456789
 > 0

134567890
 > 2

867953120
 > 4

5
@ রাইকার মনে হচ্ছে এটি একটি অনুক্রমের মধ্যে অনুপস্থিত একটি সংখ্যা খুঁজে পাওয়া যায়। এটি একটি সেট থেকে অনুপস্থিত একটি সংখ্যা সন্ধান করার মতো বলে মনে হচ্ছে।
DJMcMayhem

10
@ রিকার আমি লিঙ্কিত চ্যালেঞ্জের কঠোরভাবে বর্ধনশীল ক্রম (সম্ভাব্য বহু-অঙ্কের সংখ্যার) পেয়েছি বলে মনে করি না, যদিও এটি এখানে স্বেচ্ছামূলকভাবে রয়েছে।
অ্যাডমবর্কবর্ক

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

1
এটি এমন লজ্জাজনক যে 9-x% 9 0 ছাড়াই যে কোনও অঙ্কের জন্য কাজ করে Maybe সম্ভবত আমার চেয়ে আরও চতুর কেউ এটির কাজ করার জন্য কোনও উপায় খুঁজে পাবে।
বিজন

2
বেশ কয়েকটি উত্তর ফাংশন ইনপুট হিসাবে একটি পূর্ণসংখ্যা গ্রহণ করে। এটা কি অনুমোদিত?
ডেনিস

উত্তর:


36

পাইথন 2 , 18 16 বাইট

@ সৌজ্য বোর্সকে ধন্যবাদ জানাই

`99066**2`.strip

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

99066**2 0 ~ 9 রয়েছে এমন স্ট্রিং উত্পন্ন করার জন্য কেবল একটি ছোট্ট উপায়


7
32043 আরও সুন্দর সংখ্যায় পরিবর্তন করা যেতে পারে। 99066 কেন্দ্র-প্রতিসম হয়তো বা 97779 ( যে শব্দ কবিতা প্রভৃতি উলটা করিয়া পড়িলেও একই থাকে , দুটি স্বতন্ত্র সংখ্যা) (যদি কেন্দ্র চারপাশে ঘোরানো 180 ডিগ্রী পরিবর্তন করে না) হল
সার্জ সুপবিশেষ

1
যদি ওপি নম্বরটি দুবার মুদ্রণ করতে দেয় তবে 764**4দুটি বাইট সংরক্ষণ করতে পারে।
তিতাস

@ টিটাস 764**4নিখোঁজ রয়েছে 5, 8এবং9
রড

1
টাইপো ... আমার অর্থ 763**4=338920744561
তিতাস

25

পাইথন , 22 বাইট

lambda s:-int(s,16)%15

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

একটি গাণিতিক সমাধান। ইনপুট স্ট্রিংটিকে হেক্স হিসাবে ব্যাখ্যা করে, এটিকে উপেক্ষা করে এবং ফলাফলটি মডুলো 15 এ নিয়ে যায়।


2
আপনি ব্যাখ্যা করতে পারেন কেন এটি কাজ করে?
কার্লকাস্টোর

1
@ কার্লকাস্টোর, বেস ১ 16-এ মডুলো ১৫ বেস-এ 10 মডিউল অনুসারে কাজ করে Mod 10 এর 1 (মোড বেস -1) কেবলমাত্র অঙ্কের যোগফল নেওয়ার সময় মডুলো বেস -1 ধ্রুবক। সমস্ত সম্ভাব্য সংখ্যার যোগফল ধ্রুবক, সুতরাং অনুপস্থিত অঙ্কটি হ'ল এই ধ্রুবকের পার্থক্য এবং ইনপুট সংখ্যা (মডুলো বেস -1)।
মিক

16

এপিএল (ডায়ালগ) , 4 বাইট

উত্সাহিত ফাংশন

D∘~

⎕Dডি আইজিটস

 (মোনাডিক ফাংশন তৈরি করতে নিম্নলিখিত ডায়াডিক ফাংশনের সাথে একটি বাম যুক্তি যুক্ত করে)

~ [যুক্তি] বাদে

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


ফাংশন ট্রেন

D~⊢

⎕Dডি আইজিটস

~ ছাড়া

 সঠিক যুক্তি

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


স্পষ্ট প্রোগ্রাম

D~⍞

⎕Dডি আইজিটস

~ ছাড়া

 অক্ষর ইনপুট

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


12

মস্তিষ্ক-ফ্লাক , 48 38 36 + 3 = 39 বাইট

ডিজেএমসিমেহেমে 10 টি বাইট সংরক্ষণ করা হয়েছে!

((([]())[]{}){()()({}[()])}{}[{{}}])

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

ব্যাখ্যা

আসকিতে সমস্ত সংখ্যার যোগফল 525 This এই প্রোগ্রামটি ইনপুটটির যোগফল দেয় এবং অনুপস্থিত অঙ্কটি পেতে 525 থেকে বিয়োগ করে।

((([]())[]{}){()()({}[()])}{}      )

525 ধাক্কা দেবে This এটি সত্যতার সুবিধা গ্রহণ করে যে আমরা জানি যে শুরু করার জন্য ইনপুটটির 9 টি উপাদান থাকবে। এর অর্থ হল []9 এর মূল্যায়ন যা আমাদের 525 এর মতো দ্রুত সংখ্যায় পেতে দেয়।

পরবর্তী আমাদের বিট আছে:

                             [{{}}]

যা ইনপুটগুলি যোগ করবে এবং এটি মোট থেকে বিয়োগ করবে।


কিভাবে কাজ করে?
পাভেল

@! ব্যাখ্যা যুক্ত হয়েছে!
গম উইজার্ড

2
আপনি যদি negative(sum(input()))শেষের দিকে চলে যান তবে 525 টি সহজ করে ধাক্কা দেওয়ার জন্য আপনি স্ট্যাক-উচ্চতার নীলাদকে অপব্যবহার করতে পারেন। (([][][]()()()){()()({}[()])}{}[{{}}])আপনাকে 10 বাইট সংরক্ষণ করতে হবে
ডিজেএমসিএমহেম

পরিবর্তে 477 বিয়োগ করে 30 বাইট
জো কিং

12

হাস্কেল , 24 23 বাইট

(477-).sum.map fromEnum

এটি অনলাইন চেষ্টা করুন! ব্যবহার: (477-).sum.map fromEnum $ "123456890"। 477 হ'ল 0 থেকে 1 বাদে অঙ্কের অক্ষর কোডগুলির যোগফল This এই বেনাম ফাংশনটি 477 বিয়োগকে সমস্ত অঙ্কের অক্ষর কোডগুলির যোগফলকে গণনা করে missing

চর অঙ্কগুলি ints এ পরিণত করা আরও একটি বাইট দীর্ঘ:

(45-).sum.map(read.pure)
foldl(\a b->a-read[b])45

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


10

জেলি , 3 বাইট

ØDḟ

কেবল "0123456789" ( ) থেকে ইনপুট স্ট্রিং ফিল্টার করুন ( )।ØD

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


3
আমি যেভাবে সমস্ত গল্ফিং ভাষা (এবং এমনকি কিছু নন-গল্ফিং ভাষা) একই অ্যালগরিদম ব্যবহার করে তা পছন্দ করি তবে জেলি এটি যে বিল্টিনগুলি ব্যবহার করে তার সংক্ষিপ্ততম নামগুলি পরিচালনা করতে এবং যুক্তিগুলিকে উল্টানোর জন্য কমপক্ষে বয়লারপ্লেট পরিচালনা করে

1
@ ais523 এপিএল হ'ল চিঠির মাধ্যমে একই (এটি কোনও ফাংশন / প্রোগ্রামের পরিবর্তে এপিএল স্নিপেট হবে): Ø= , D= D, = ~, হিসাবে ⎕D~'867953120'
অ্যাডাম

3
আমি, উত্তরের মাধ্যমে স্ক্রোল করার সময়: "আমি জেলিতে 3 টি অক্ষরের ভবিষ্যদ্বাণী করছি।" বিঙ্গো। : ^ ডি
ডিএলকস

9

রুবি, ১৪

48 * 9 + 45 থেকে আসকি কোডগুলি যোগ করে এবং বিয়োগ করে

->s{477-s.sum}

এই মত ব্যবহার করুন

f=->s{477-s.sum}

puts f["123456789"]

9

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

আরও বুদ্ধিমান কৌতুক সহ 1 বাইট সংরক্ষণ করুন thx @ নীল, সম্পাদনা করুন

1 থেকে 9 পর্যন্ত সমস্ত মানকে জোর করে দেওয়া হয় 1. আরও 1 বার জোড় 1 এবং ফলাফলটি 0 হয় So সুতরাং, যদি কোনও একক মান অনুপস্থিত থাকে তবে ফলাফলটি অনুপস্থিত মান হবে।

s=>eval([1,...s].join`^`)

পরীক্ষা

f=s=>eval([1,...s].join`^`)

function go() {

  var i=I.value;
  O.textContent = f(i)
}  

go()
<input oninput='go()' value='012987653' id=I>
<pre id=O></pre>


s=>eval([1,...s].join`^`)একটি বাইট সংরক্ষণ করে।
নীল

@ নীল ... এবং এটি আরও আকর্ষণীয়
edc65

আমি মনে করি এই টিপটি আমার উত্তর পরে সন্দেহজনকভাবে সংক্ষিপ্তভাবে এসেছে : ডি যাইহোক দুর্দান্ত গল্ফ +1 1
ক্রিস্টোফ

1
@ ক্রিসটফ ভাল লাগছিল যেন আপনি এই শব্দটি ছড়িয়ে দিতে চান ...
নিল

নিল নিখরচায় :) এটি দেখে ভাল লাগল!
ক্রিস্টোফ

8

রেটিনা , 27 21 19 বাইট

-6 বেসিক সানসেটকে ধন্যবাদ
-2 মার্টিন ইন্ডারকে ধন্যবাদ

.
$*_5$*
+`_1|1_

1

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

অনেকগুলি _এবং 5 1গুলি প্রতিটি অঙ্ক প্রতিস্থাপন করুন :

.
$*_5$*

প্রত্যেকটির জন্য সমস্ত _গুলি এবং একটি সরান 1:

+`_1|1_ 


1বামের সংখ্যা গণনা করুন :

1

দ্বিতীয় উত্তরের প্রথম লাইনটি সঠিক হতে পারে .
নীল

প্রতিস্থাপনের পরিবর্তে ডুপ্লিকেশন ব্যবহার করে আপনি কয়েকটি বাইট সংরক্ষণ করতে পারেন: অনলাইনে চেষ্টা করে দেখুন
Business Cat

ওহ ভাল, এবং আমি এখানে প্রথম উত্তরটির পুরানো বাইট গণনার দ্বিতীয় উত্তরটি পেয়েছিলাম ...^ 5 ^. $*9¶ . $*_ +`_¶_ _
নিল

@ নীল আমি এটি আসলটির চেয়ে কম পেয়েছি।
রিলে

(হু, এটি আমার জবাবের মতো সন্দেহজনকভাবে দেখতে পাওয়া যায়, তবে কেবলমাত্র পার্থক্য হ'ল আপনি একটি বাইট সংরক্ষণ _করার 1জন্য সরে গিয়েছিলেন ))
নীল


6

জাভাস্ক্রিপ্ট (ES6), 31 29 28 22 বাইট

s=>(15-`0x${s}`%15)%15

@ Xnor এর পাইথনের উত্তর বন্দর, জাভা স্ক্রিপ্টে কেবলমাত্র একটি মডুলো অপারেটরের পরিবর্তে একটি অবশিষ্ট অপারেটর রয়েছে, সুতরাং আমি এটি একটি পদক্ষেপেও করতে পারি না। সম্পাদনা করুন: @ আরনাউল্ডকে 6 বাইট সংরক্ষণ করা হয়েছে



3
আপনি প্রেমে খুব বেশি reduce। যাইহোক +1
এডক 65

@ আরনাউল্ড আমি কখন যে কাজ করে তা দেখতে পাচ্ছি না s[0]!='0', তবে ইতিমধ্যে একটি উত্তর রয়েছে যা ব্যবহার করে eval
নীল

আপনি করতে পারেন s=>(15-`0x${s}`%15)%15?
আর্নল্ড

@ আর্নাউলদ বাহ, এবং ব্যাচ বন্দরের জন্য আমি এটি ইতিমধ্যে করেছি ...
নীল

6

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

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

এখানে চেষ্টা করে দেখুনএই সমাধানটি কেবল স্ট্যান্ডার্ড ব্রেনফাক (8-বিট কোষ) নিয়ে কাজ করে, কারণ এটি মোড়কের উপরে নির্ভর করে।

এটি একটি বিরল দিন যখন ব্রেইনফাক আসলে প্রতিযোগিতা করতে পারে, তবে এই চ্যালেঞ্জটি খুব ভালভাবে বিএফের সাথে মিল রেখে ঘটেছে!

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

ব্যাখ্যা

পদক্ষেপ 1, 26 বাইট

তার উত্তরে গমের উইজার্ড উল্লেখ করেছিলেন যে, 0-9 সমষ্টি থেকে 525. প্রয়োজন এবং মান Brainfuck যেহেতু ASCII মান এর সমষ্টি শুধুমাত্র [0.255] এর একজন ধারণা আছে, এই মান 525% 256 = তোলে 13 । এর অর্থ, 13 নেট থেকে আপনাকে হারিয়ে যাওয়া অঙ্কটি থেকে ইনপুটটির ASCII মানগুলি বিয়োগ করা।

এই প্রোগ্রামের প্রথম সংস্করণটি ছিল:
1. প্রথম কক্ষে ১৩ টি রাখুন
২ দ্বিতীয় কক্ষে ইনপুট নিন
৩. প্রথম ঘরটি থেকে দ্বিতীয় সেলটি বিয়োগ করুন in.
যদি ইনপুট বাকী থাকে তবে ২ তে যান
5 প্রথম কক্ষটি মুদ্রণ করুন

এবং সহজ সমাধানের জন্য এখানে কোড:

+++++++++++++ #Set the first cell to 13  
>,            #Take inputs into the second cell  
[[<->-],]     #Subtract the second cell from the first cell and repeat until inputs are over  
<.            #Print the first cell  

পদক্ষেপ 2, 19 বাইট

তার উত্তরে যেমন উল্লেখ করা হয়েছে, যেহেতু আমরা জানি যে ইনপুটটি ঠিক 9 দৈর্ঘ্যের হবে, আমরা সেই মানটিকে একটি ধ্রুবক হিসাবে ব্যবহার করতে পারি এবং + এর দীর্ঘতর স্ট্রিংটি শুরুতে বজায় রাখতে পারি।
আমরা কী বিন্দুতে ১৩ টি যুক্ত করব তা ধন্যবাদ জানায় না (ধন্যবাদ, পরিবহণমূলক সম্পত্তি!), সুতরাং আমরা এটি বিয়োগ এবং মুদ্রণের পদক্ষেপের সাথে মিশ্রিত করব।

,        #Take input to enter the loop
[[->-<], #Subtract the first cell from the second cell 
>+<]     #Add 1 for each input; totaling 9
>++++    #Add the missing 4 to make 13
.        #And print

এটি এই সমস্যার আমার মূল উত্তর ছিল, তবে আমরা আরও ভাল করতে পারি।

পদক্ষেপ 3, 17 বাইট

আকর্ষণীয়ভাবে যথেষ্ট, পূর্বের উত্তরগুলি কার্যকর হয় এমনকি আমরা যদি একটি + এর পরিবর্তে + দিয়ে শুরু করি,

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

লুপ শুরু করার জন্য ব্রেইনফাকের একটি ঘরে কিছু প্রয়োজন । আমরা নির্লজ্জভাবে শেষ পর্যন্ত অতিরিক্ত 4 যুক্ত করেছি, যখন এটি অন্য জায়গায় যেতে পারত।

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

কিছু সম্পূর্ণ উদ্দেশ্যমূলক (পড়ুন: পরীক্ষা এবং ত্রুটি) লুপ কৌশলের সাথে, প্রোগ্রামটি একটি দিয়ে শুরু করে - দুটি আকর্ষণীয় ফলাফলের দিকে নিয়ে যায়:

  1. একজনের দ্বিতীয় ঘরে যোগ হয় (শেষে 1 বাইট সংরক্ষণ করা হয়)।
  2. লুপগুলি একটি অতিরিক্ত সময় চলে 9 টির পরিবর্তে 10 টি (আরও 1 বাইট সংরক্ষণ করে)।

1 + 10 + 2 = 13, এবং আমরা মূল উত্তরটি দিয়ে শেষ করব।

এটি ফিরে তাকানো, এটি সম্ভবত একটি সাধারণ ব্রেইনফাক প্রোগ্রামের জন্য এটি একটি অতিরিক্ত লেখার আপ।

পদক্ষেপ 4, 15 বাইট

এই সমাধানটি আরও কিছুটা চিন্তা করার পরে আমি 2 বাইট কেটে ফেলতে সক্ষম হয়েছি।

আমি পূর্ববর্তী পদক্ষেপ সম্পর্কে কিছু স্পষ্ট করতে চেয়েছিলাম:
লুপটিতে কার্যকরভাবে বিয়োগফলটি 1 যোগ করে, তবে এটি আসলে যা করছে তা দ্বিতীয় ঘর থেকে 255 বিয়োগ করছে (যার ফলে 1)।

এটি পূর্ববর্তী ক্ষেত্রে স্পষ্ট, তবে প্রথম কক্ষ থেকে 1 টি বিয়োগ করা দ্বিতীয় কোষে 1 যুক্ত করার সমান (কারণ প্রথম কোষের প্রতিটি জিনিসই দ্বিতীয় কোষ থেকে বিয়োগ হয়ে যায়))

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

আমি প্রথম লুপের শুরুতে "-" যোগ করে "> + <" মুছে ফেলতে সক্ষম হয়েছি। এটি সেখানে যেতে হবে, যেখানে "> + <" ছিল না, কারণ প্রোগ্রামটি অন্যথায় অসীমভাবে লুপ করবে।



5

গণিত, 25 বাইট

477-Tr@ToCharacterCode@#&

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


5

পিএইচপি, 27

<?=trim(32043**2,$argv[1]);

সমস্ত অঙ্কযুক্ত স্ট্রিং তৈরি করতে রডের উত্তর থেকে কৌশলটি ব্যবহার করে তারপরে অনুপস্থিত একটি ব্যতীত সমস্ত অঙ্ক সরিয়ে দেয়।


পিএইচপি, 41

for($b=1;$i<9;$b^=$argv[1][$i++]);echo$b;

এটি একজন জোর ব্যবহার করে কারণ আমি এটি এখনও দেখিনি।


সুন্দর আমি ট্রিম সম্পর্কে ভাবেনি। বিকল্প মান32043,32286,33144,35172,35337,35757,35853,37176,37905,38772,39147,39336,40545,42744,43902,44016,45567,45624,46587,48852,49314,49353,50706,53976,54918,55446,55524,55581,55626,56532,57321,58413,58455,58554,59403,60984,61575,61866,62679,62961,63051,63129,65634,65637,66105,66276,67677,68763,68781,69513,71433,72621,75759,76047,76182,77346,78072,78453,80361,80445,81222,81945,83919,84648,85353,85743,85803,86073,87639,88623,89079,89145,89355,89523,90144,90153,90198,91248,91605,92214,94695,95154,96702,97779,98055,98802,99066
Jörg Hülsermann

5

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

আমি একটি ছোট বাশ সমাধান পেয়েছি , এটি একটি আকর্ষণীয় চেকসাম পদ্ধতির ব্যবহার করে:

sum -s|dc -e524?--P

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

ব্যাখ্যা:

sumকমান্ড একটি চেকসাম এবং একটি ব্লক গণনা ছাপে। আমি অনেক বিশদ জানি না, তবে বিকল্পটি -s(সিস্টেম ভি ভি অ্যালগরিদম) ব্যবহার করে প্রতিটি ইনপুট অক্ষর কোডের ASCII যোগফলের সমান চেকসাম তৈরি করবে। যেমন, একই ইনপুট অক্ষরের ক্রম পরিবর্তিত হলে চেকসাম স্থির থাকে।

867953120পরীক্ষার কেস হিসাবে দেওয়া (শেষ উদাহরণ), এখানে স্ক্রিপ্টটি কীভাবে কাজ করে:

  • sum -sআউটপুট 473 1। কোনও পূর্ণসংখ্যার অনুপস্থিত থাকলে, চেকসামটি 525 হত।
  • dc -e524?524 এবং তারপরে পাইপের ইনপুটটি পুশ করে। স্ট্যাকের হল: 1 473 524। ধারণাটি হ'ল 525 থেকে চেকসামটি বিয়োগ করা হবে, তবে যেহেতু যোগফল 1 আউটপুটগুলিও রয়েছে, তাই আমার এটির সাথে কাজ করা প্রয়োজন।
  • --P। দুই subtractions (524- (473-1)) প্রয়োগের পর স্ট্যাকের হল: 52। 'পি' দিয়ে আমি সেই ASCII কোড সহ অক্ষরটি মুদ্রণ করি:, 4অনুপস্থিত অঙ্ক।

4

ফরট্রান 95, 146 128 বাইট

function m(s)
character(len=10)::s,t
t='0123456789'
do j=1,10
k=0
do i=1,9
if(s(i:i)==t(j:j))k=1
end do
if(k==0)m=j-1
end do
end

খুব সংক্ষিপ্ত নয়, আমি ভয় পাচ্ছি।

Ungolfed:

integer function m(s)
    implicit none

    character(len=9)::s
    character(len=10)::t
    integer:: i, j, k

    t='0123456789'
    do j=1,10
        k=0
        do i=1,9
            if (s(i:i) == t(j:j)) k=1
        end do
        if (k==0) m=j-1
    end do

end function m



3

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

ẹ:Ị↔x

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

তর্কযুক্তভাবে সংক্ষিপ্ত হওয়া উচিত (কেন এখনও প্রয়োজনীয় তা নিয়ে আমি এখনও বিভ্রান্ত ), তবে এটি আমার পক্ষে সেরা।

ব্যাখ্যা

ẹ:Ị↔x
ẹ      Split the input into a list of characters
 :Ị    Pair that list with the string "0123456789"
   ↔x  Remove all elements of the list from the string

xবাস্তবায়ন পুরানো এবং সুন্দর বগি, এজন্য আপনার প্রয়োজন
জালিয়াতি করুন

আপনি আসলে একটি যুক্তি বানাতে পারেন যে এর মতো কিছু ¬∋ℕকেবল 3 টি চরিত্রে কাজ করা উচিত - যা আমি প্রথমে চেষ্টা করেছি - তবে এর একাধিক কারণ রয়েছে এবং এটি আমার মনে হয় না ব্র্যাচল্যাগ পরিবর্তন করার কোনও যুক্তিযুক্ত উপায় আছে যাতে এটি ঘটে।

প্রোলোগে এর ¬∋ℕমতো কাজ করা এমনকি সম্ভব নয়, যদি না আপনি যা বোঝায় তার নির্দিষ্ট করে প্রোগ্রামিং না করে not in¬ব্র্যাচ্লাগে প্রোলোগের সমান \+, এবং এর অর্থ হ'ল "ক্লোজড-ওয়ার্ল্ড অনুমানের অধীনে প্রমাণযোগ্য নয়", "" যা যা যা যা যা যা যা যা যা যা যা যা যা যা যা যা যা যা যা যা "যাচাই করে না তার জন্য আমাকে পছন্দ পয়েন্ট দেয়", যা প্রায় সবসময়ই সীমাহীন সংখ্যক জিনিস )
ফ্যাটালাইজ করুন

প্রোলগে এটি করার একমাত্র উপায় হ'ল আগাম "লেবেলাইজ" করা , তবে এর অর্থ হবে ভবিষ্যদ্বাণীগুলির সামগ্রীর উপর ভিত্তি করে ব্র্যাচল্যাগের মূল্যায়ন আদেশের সাথে টিঙ্কিং করা। যদিও এটির মধ্যে অন্যতম সমস্যা এটি; অন্য এক টন আছে।

3

কমন লিস্প, 47 বাইট

(lambda(s)(- 45(reduce'+ s :key'digit-char-p)))

Ungolfed:

(lambda (s) (- 45 (reduce '+ s :key 'digit-char-p)))

Explaination:

(reduce '+ s :key 'digit-char-p)

এটি চরগুলিতে প্রবেশ করে s, অঙ্কগুলিতে রূপান্তর করে এবং এগুলি যুক্ত করে। অঙ্ক-চর-পি, সুবিধামত, চরের সংখ্যাটিকে তার "সত্য" মান হিসাবে ফিরিয়ে দিন, যাতে এটি পরীক্ষা বা রূপান্তর হিসাবে ব্যবহার করা যায়।

(- 45 ...)

45 থেকে বিয়োগটি অঙ্কটি দেয় যা ইনপুট থেকে অনুপস্থিত ছিল back


3

কিউবিক্স , 18 বাইট

5v&;52/ni?@.>!&oW+

সম্প্রসারিত

    5 v
    & ;
5 2 / n i ? @ .
> ! & o W + . .
    . .
    . .

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

এই মস্তিষ্কের ফ্ল্যাঙ্ক উত্তর হিসাবে একই ধরণের পদ্ধতি ব্যবহার করে ।

স্ট্যাকের উপর 5, 2 টি চাপুন, কনটেনেটেট করুন, 5 চাপুন, কনটেনেট এবং অবহেলা করুন-
তারপরে পুনরাবৃত্তিভাবে ইনপুট পান এবং ইনপুটটির শেষ না হওয়া পর্যন্ত যুক্ত করুন।
শেষ ইনপুট সরান, নেগেট (ইতিবাচক করুন) শেষ যোগ ফলাফল, অক্ষর আউটপুট এবং থামান।

-525 আপ থেকে কাজ করার কারণটি হ'ল প্রতিটি ইনপুট পুনরাবৃত্তির জন্য অক্ষর আউটপুট হিট হয়। মানটি নেতিবাচক হওয়ায় লুপটি বের না হওয়া এবং নেতিবাচক মানটিকে ধনাত্মক করা না হওয়া পর্যন্ত কিছুই আউটপুট হয় না।



3

বাশ (+ ইউটিলিটি), 22, 19 বাইট

  • ব্যবহার করুন seqবক্রবন্ধনী সম্প্রসারণ পরিবর্তে -3 বাইট (ধন্যবা @Riley!)
seq 0 9|tr -d \\n$1 

পরীক্ষা

$seq 0 9|tr -d \\n123456789
0

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


আপনি যদি স্থানটি সরিয়ে নিয়ে যান তবে $1এটি আরও স্পষ্ট হবে ...
নীল

@ নীল, হ্যাঁ, এটি একটি দুর্দান্ত ধারণা! ধন্যবাদ !
জেপেলিন

আপনি এর seqপরিবর্তে ব্যবহার করতে পারেন echo: seq 0 9|tr -d \\n$1
রিলে

3

গুগল শিটস, 39 33 বাইট

ইনপুটটি ঘরে প্রবেশ করা হয় A1

কোড:

=REGEXEXTRACT(4&2^29,"[^"&A1&"]")

স্টিভ কাসকে ধন্যবাদ 6 বাইট সংরক্ষণ করা।

পূর্ববর্তী কোড:

=REGEXEXTRACT("0123456789","[^"&A1&"]")

ফলাফল:

এখানে চিত্র বর্ণনা লিখুন


2 ^ 29 নম্বরের সমস্ত অঙ্ক রয়েছে তবে 4, তাই 33 বাইট: = REGEXEXTRACT (4 & 2 ^ 29, "[^" এবং এ 4 & "]")
স্টিভ কাস

পছন্দ করুন =REGEXEXTRACT(0&49^9,"[^"&A1&"]")অনুরূপ যুক্তি দেওয়া, এটিও একটি বৈধ সমাধান। আপডেট উত্তর।
গ্রান্ট মিলার

3

বেফঞ্জ 98, 14 12 বাইট

আমি আরও ভাল কিছু গণিত করে প্রোগ্রামটিকে 1 লাইনে এবং 1 বাইটে সরিয়ে 1 বাইট সংরক্ষণ করেছি

~+;@.%a--7;#

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

ব্যাখ্যা

কোন নম্বর অনুপস্থিত তার উপর নির্ভর করে ASCII মানগুলির যোগফল 477 থেকে 468 পর্যন্ত range এটি 7 থেকে বিয়োগ করে আমরা -470 থেকে -461 পর্যন্ত পরিসীমা পাই। এই সংখ্যাটি 10 ​​দ্বারা সংশোধন করে আমরা 0 - 9 ব্যাপ্তি পাই যা আমরা এটির পরে মুদ্রণ করতে পারি।

~+;       ;#    Sums the ASCII values of all characters to stdIn
~          #    The # doesn't skip over the ~ because it's on the end of a line
~               Once EOF is hit, the ~ reverses the IP's direction
          ;#    Jump the ; that was used before
       --7      Subtract the sum from 7 (really just 0 - (sum - 7))
     %a         Mod it by 10
   @.           Print and exit

আমি পূর্ণসংখ্যার ইনপুট না নিয়ে ASCII মানগুলি ব্যবহার করার কারণ হ'ল &এটি চেষ্টা করুন অনলাইনে command ইওএফ-এ থামে (যদিও এটি আইপি বিপরীত হওয়া উচিত)। ~সঠিকভাবে, যদিও কাজ করে।

পুরানো প্রোগ্রাম , 14 বাইট

#v~+
@>'i5*--,

সমস্ত 10 সংখ্যার ASCII মানের যোগফল 525। 525 থেকে প্রদত্ত অঙ্কগুলির যোগফলকে বিয়োগ করে আমরা অনুপস্থিত চরিত্রের ASCII মান পাই।

#v~+         Sums the ASCII values of all characters on stdIn
             Moves to the next line when this is done
 >'i5*       Pushes 525 (105 * 5)
      --     Subtracts the sum from 525
@       ,    Prints and exits

2

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

param($n)0..9|?{$n-notmatch$_}

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

ইনপুট নেয় $n, একটি রেঞ্জ তৈরি করে 0..9(অর্থাত্‍ 0, 1, 2 ... 9), তারপরে একটি রেজেক্স করে এমন সংখ্যাটি বের করার জন্য একটি Where-Objectধারা (দ্য |?{...}) ব্যবহার করে -notmatch। এটি পাইপলাইনে রেখে গেছে, আউটপুট অন্তর্ভুক্ত।



2

পাইথ, 5 বাইট

-jkUT

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

ব্যাখ্যা

-jkUT
    T   # 10
   U    # The unary range of ten: [0,1,..,9]
 jk     # join that on the empty string
-       # set minus

"-jut" এছাড়াও কিন্ডা কাজ করে তবে প্রতিটি ইনট জন্য নতুন লাইন তৈরি করে।


2

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

žhISK

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

ব্যাখ্যা

žh     # from the string "0123456789"
    K  # remove
  IS   # each digit of the input

6
আমি এটি পছন্দ করি কারণ আপনি এটি উচ্চস্বরে বলতে পারেন। '' হিশ্ক '' বলে তিনি টপ-টুপিটির উপর দিয়ে নিজের লাঠিটি দোলাচ্ছিলেন এবং ধূমপানের মধ্যে একটি ছোট সাদা খরগোশ উপস্থিত হয়েছিল।
পেঙ্গুইনো
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.