অপরিষ্কার সংখ্যা


11

@ ম্যাগো তাঁর পবিত্র এবং হলিয়ার সংখ্যার সাহায্যে যা তৈরি করেছেন তা দ্বারা এই চ্যালেঞ্জটি অত্যন্ত অনুপ্রাণিত হয়েছে , তাকে এবং তার পাঁকে প্রচুর ধন্যবাদ জানায়।

পবিত্র সংখ্যার শুধুমাত্র সংখ্যা গঠিত সংখ্যা গর্ত , যা:

04689

কমপক্ষে একটি অপরিষ্কার সংখ্যা সহ নম্বরগুলি অপরিষ্কার বলে মনে করা হয়। অপরিষ্কার সংখ্যার সংজ্ঞা অনুসারে মন্দ, কিন্তু পবিত্র সংখ্যার নিকটবর্তী হওয়া তাদের নিরপেক্ষ হতে সহায়তা করে। অতএব, তারা যত কাছাকাছি, তত কম অপরিহার্য (1 সংলগ্ন যখন)।

একটি সংখ্যার অপরিষ্কারতা তার অঙ্কগুলির অপরিচ্ছন্নতার যোগফল, কেবলমাত্র অপরিষ্কার সংখ্যার সমন্বয়ে গঠিত একটি সংখ্যা অসীম পবিত্রতা থাকে।

Number            :8 5 5 8 7
Digital Unholiness:0+1+1+0+1
Total Unholiness  :3

Number            :0 1 7 5 5 2 8 5 7 
Digital Unholiness:0+1+2+3+2+1+0+1+2
Total Unholiness  :12

Number            :1 5 7 3 2 1
Digital Unholiness:∞+∞+∞+∞+∞+∞
Total Unholiness  :∞

Number            :0 4 6 8 9
Digital Unholiness:0+0+0+0+0
Total Unholiness  :0

তোমার কাজ

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

অসীম অপরিচ্ছন্নতার ক্ষেত্রে, আপনি তিনটি ফলাফলের মধ্যে বেছে নিতে পারেন

  • চরিত্র (3 বাইট)
  • কমপক্ষে 1 অ-শূন্য অঙ্ক সহ অসীম আউটপুট, তবে কেবল অঙ্কগুলি।
  • একটি অন্তর্নির্মিত Infinityমান।

এটি কোড-গল্ফ, তাই বাইটে সংক্ষিপ্ততম কোড জিতল, শুভকামনা!


একটি অন্তর্নির্মিত Infinityমান ফিরে বৈধ?
নীল

1
@ নীল আমি এটির অনুমতি দেব, যেমন আমি এমনকি এটির পক্ষে ভাল ধারণাও করি নি।
কাটেনকিও

আপনার কয়েকটি উদাহরণ ইনপুট একটি শীর্ষস্থানীয় শূন্য দিয়ে শুরু হয়; এটির উদ্দেশ্য কি কেবলমাত্র আমাদের পছন্দের ভাষাটি যদি স্বয়ংক্রিয়ভাবে শীর্ষস্থানীয় শূন্যকে না ফেলে তবেই আমরা "ধনাত্মক পূর্ণসংখ্যার" ইনপুট দিয়ে আমাদের ফাংশনটি লিখতে পারি? অনেকগুলি ভাষা এই কারণে স্ট্রিং ইনপুট নিতে বাধ্য হবে।
একটি সিমন্স

@ এ্যাসমন্সস সে কারণেই আমি ইনপুটটি সংশোধন করেছি (কিছুক্ষণ আগে) যাতে এটি একটি "কেবলমাত্র সংখ্যার সমন্বয়ে গঠিত স্ট্রিং" হতে পারে। এছাড়াও, গুরুত্বপূর্ণ বিষয়টি এটি নয় যে এটি 0একটি পবিত্র সংখ্যা, আমি পোস্টটি অ-নেতৃস্থানীয় 0 সংখ্যার ভিত্তিতে অনুমতি অনুসারে পরিবর্তন করব।
কাটেনকিও

@ ক্যাটেনকিয়ো হ্যাঁ আমি দেখেছি আপনি একটি স্ট্রিং হিসাবে ইনপুট দিতে পারেন তবে এটি একটি পূর্ণসংখ্যা হিসাবে গ্রহণ করা কঠিন বলে মনে হয়েছিল। আমি আপনার সম্পাদনাটি ওপিতে অনুমোদন করি।
এ সিমন্স 13

উত্তর:


2

এমএটিএল , 25 24 বাইট

7Zq1hVmt~f!wf-|X<st~?xYY

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

ইনপুট একটি স্ট্রিং। আউটপুটে, অনন্ত স্থানীয় হিসাবে প্রদর্শিত হয় Inf

ব্যাখ্যা

7         % number literal                                 
Zq        % prime numbers up to a 7: [2 3 5 7]
1         % number literal                        
h         % horizontal concatenation                       
V         % convert numbers to string: '2  3  5  7  1'
m         % take input implicitly. Determine which digits are 1,2,3,5,7
t         % duplicate
~         % element-wise negate: which digits are 4,6,8,9,0
f         % indices of occurrences of digits 4,6,8,9,0
!         % transpose into column array
w         % swap elements in stack           
f         % indices of occurrences of digits 1,2,3,5,7  
-         % element-wise subtraction with broadcast. Gives 2D array
|         % element-wise absolute value                          
X<        % minimum of each column
s         % sum of elements of array
t         % duplicate                       
~         % element-wise negate
?         % if all elements are true                            
  x       %   delete                                         
  YY      %   push infinity                                       
          % (implicit) end if
          % (implicit) convert to string and display  

4

পাইথন (3), 137 131 বাইট

def f(s):
 l=range(len(s))
 r=[min(i)for i in zip(*[[abs(j-i)for j in l]for i in l if s[i]in'46890'])]
 return sum(r)if r else'∞'

ফলাফল

>>> [f(i) for i in ['85587', '012321857', '157321', '04689']]
[3, 12, '∞', 0]

আমি 131 বাইটের একটি গণনা পেয়েছি , আমি এখানে কিছু মিস করছি কি? এছাড়াও, দুর্দান্ত উত্তর :)।
কাটেনকিও

@ কেটেনকিও আমি সর্বদা আমার সম্পাদককে ভুলে গেছি ফাইলের শেষে এন ফাঁকা লাইন যুক্ত করুন
এরওয়ান

2

পাইথ, 31 29 27 25 বাইট

smhS.e?}b"04689"akd.n4zUz

এটি অনলাইনে ব্যবহার করে দেখুন: বিক্ষোভ বা পরীক্ষার স্যুট

প্রতিটি অঙ্কের জন্য আমি প্রতিটি সংখ্যার সাথে দূরত্বগুলি গণনা করি। দ্বিতীয় অঙ্কটি পবিত্র না হলে একটি দূরত্ব হ'ল ইনফিন্টি। এই তালিকাগুলি থেকে আমি সর্বনিম্ন দূরত্ব নিয়েছি এবং এটির যোগফল করব sum

ব্যাখ্যা:

smhS.e?}b"04689"akd.n4zUz  implicit: z = input string of numbers
 m                     Uz  map each d in [0, 1, ..., len(z)-1] to:
    .e                z      map each k (index), b (value) of b to:
                akd            absolute difference between k and d

      ?}b"04689"               if b in "04689" else
                   .n4         infinity
   S                           sort
  h                            take the first element (=minimum)
s                              print the sum

1

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

s=>[...s].map(n=>/[12357]/.test(n)?++u:u=0,u=1/0).reverse().map(n=>r+=n?n<++u?n:u:u=0,r=0)&&r

যদি Infinityকোনও আইনী অনন্ততা না হয় তবে তার জন্য 13 বাইট যুক্ত করুন ==1/0?'∞':r

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