এটি কি সাইক্লিক নম্বর?


20

একটি চক্রাকার সংখ্যা হ'ল "এন" অঙ্কের একটি সংখ্যা যা 1, 2, 3, ... এন দ্বারা গুণিত করলে একই অঙ্কগুলিতে ফলাফল হয় তবে ভিন্ন ক্রমে হয়।

উদাহরণস্বরূপ, 142,857 সংখ্যাটি 142,857 x 2 = 285,714, 142,857 x 3 = 428,571, 142,857 x 4 = 571,428, এবং এর পরে থেকে একটি চক্র সংখ্যা। একটি পূর্ণসংখ্যার ইনপুট দেওয়া হয়েছে, এটি যদি সত্যবাদী মান হয় তবে এটি একটি চক্রীয় সংখ্যা কিনা তা নির্ধারণ করুন এবং তা না হলে মিথ্যা মান।

এছাড়াও, স্পষ্ট করে বলতে গেলে, ইনপুটটিতে 0 টি হতে পারে: যেমন 0344827586206896551724137931

এটি কারণ, যদি নেতৃস্থানীয় শূন্যগুলি সংখ্যাগুলিতে অনুমোদিত না হয় তবে 142857 দশমিক একমাত্র চক্র সংখ্যা।

যেহেতু এটি কোড-গল্ফ, তাই বাইটের মধ্যে সংক্ষিপ্ত উত্তর!


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

উত্তর:


3

05 এ বি 1 ই , 9 6 বাইট

3 বাইট সঞ্চয় করার জন্য এমিগিনার ধন্যবাদ !

ā*€{ïË

ব্যাখ্যা:

ā        # Push range(1, len(input) + 1)
 *       # Multiply by the input
  €{     # Sort each element
    ï    # Convert to int to remove leading zeros
     Ë   # Check if all elements are equal

05AB1E এনকোডিং ব্যবহার করে । এটি অনলাইন চেষ্টা করুন!


1
এর কারণ কী ¦‚˜?
kalsowerus

1
@ ক্যালসওয়ারাস যদি ইনপুটটির নেতৃস্থানীয় শূন্য থাকে তবে 1 দিয়ে গুণ করলে এটি অদৃশ্য হয়ে যায়, যার ফলে এটি কার্যকর হয় না 0588235294117647
আদনান

2
@tfbninja ওহ ঠিক আছে, গুণের পরে নেতৃস্থানীয় জিরো যুক্ত করাও কিছু বিবেচনায় নেওয়া? এইগুলি পৃথকভাবে বাছাই করা ফলাফলগুলি হ'ল কিছু অনুপস্থিত নেতৃস্থানীয় শূন্যগুলির সাথে গুণণের পরে, যা সম্ভবত এখানে সমস্যাটি নির্দেশ করবে।
আদনান

1
0212765957446808510638297872340425531914893617অন্য উত্তরের মন্তব্যে উল্লিখিত সংখ্যাটি বিবেচনা করুন । বাছাই করা সংখ্যার দিকে তাকিয়ে আমি এটি মিথ্যা ফেরত নেবে বলে মনে করব, তবে শূন্যগুলি অপসারণ করার সময় এটি সত্য হয়ে যায়।
এমিগিনা

2
@tfbninja এমিগনার পরীক্ষার কেসটি কি সত্য বা মিথ্যা?
আদনান

4

আসলে , 18 বাইট

;;ru@≈*♂$♂S♂≈╔@S≈=

এটি অনলাইন চেষ্টা করুন! (উদ্ধৃত ইনপুট আশা করে)

ব্যাখ্যা:

;;ru@≈*♂$♂S♂≈╔@S≈=
;;                  duplicate input twice
  ru                range(1, len(input)+1)
    @≈              convert input to an integer
      *             multiply input by each element in range
       ♂$♂S♂≈       convert each product to a string, sort the digits, and convert back to int
             ╔      uniquify: remove duplicate elements
              @S≈   sort input and convert to int
                 =  compare equality

1
@tfbninja আমি নেতৃস্থানীয় জিরো সম্পর্কে কিছুটা আগে পোস্ট করেছি। আমার আরও 15 বাইট সমাধান রয়েছে যা আমি শীঘ্রই সম্পাদনা করব এমন শীর্ষস্থানীয় জিরোগুলির সাথে কাজ করবে।
মেগো

1
18 বাইট অর্জনের জন্য আপনি কোন চরিত্রের এনকোডিং ব্যবহার করেন? আমি ইউটিএফ -8 চেষ্টা করেছি এবং এর ওজন 32 বাইটে হয়েছে। সম্পাদনা: ওহ, আমি দেখতে পাচ্ছি, এটি কোড পৃষ্ঠা 437
ছদ্মনাম

3

পাইথন, 86 বাইট

lambda n:all(sorted(n)==sorted(str(int(n)*i).zfill(len(n)))for i in range(2,len(n)+1))

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

স্ট্রিং হিসাবে ইনপুট সংখ্যা।


1
@tfbninja কোনো পাইথন (2 এবং 3) কাজ করা উচিত
ঊরীয়েল

1
কেন এটি 0212765957446808510638297872340425531914893617 দিয়ে ব্যর্থ হয়?
J42161217

@ জেনি_ম্যাথি এখন তা হয় না।
উরিল


2

হাস্কেল, 36 33 32 45 বাইট

c n=let l=length n in(10^l-1)`div`read n==l+1

ব্যবহারের উদাহরণ:

*Main> c "142857"
True

আমি মনে করি না এই অ্যালগরিদমের কোনও ব্যাখ্যা দরকার।

টোল

পরামর্শের জন্য ধন্যবাদ: জেনেরিক প্রদর্শন নাম, লাইকোনি।

সংশোধনের জন্য ধন্যবাদ: অ্যান্টনি হ্যাচকিন্স।

সম্পাদনা নোপ, "33" এ ব্যর্থ।


1
এটি 052631578947368421 এর জন্য কাজ করে?
J42161217

হ্যাঁ, এটি ক্ষেত্রে সত্যটি ফিরে আসে।
ছদ্মনাম

2
এন-এর পরিবর্তে কিছু বাইট সংরক্ষণ করুন
জেনেরিক প্রদর্শনের নাম

1
আপনি কি <1পরিবর্তে ব্যবহার করতে পারেন ==0? এছাড়াও এখানে একটি টিআইও লিঙ্ক রয়েছে: এটি অনলাইনে চেষ্টা করুন!
লাইকোনি


2

ডিসি, 24 25 বাইট

[1]sa0?dZd10r^1-r1+/rx=ap

সংখ্যাটি চক্রীয় না হলে "0" মুদ্রণ করে, অন্যথায় "1"। স্ট্রিং হিসাবে নম্বর প্রবেশ করানো প্রয়োজন।

ব্যবহারের উদাহরণ:

$ echo "[052631578947368421]" | dc -e '[1]sa0?dZd10r^1-r1+/rx=ap'
1
$ echo "[052631578947368422]" | dc -e '[1]sa0?dZd10r^1-r1+/rx=ap'
0

টোল

ব্যাখ্যা: আমার হাস্কেল জমা হিসাবে একই অ্যালগরিদম।

সম্পাদনা নোপ, "33" এ ব্যর্থ।


1

গণিত, 81 বাইট

Length@Union@PadLeft[Sort/@IntegerDigits[ToExpression@#*Range@StringLength@#]]<2&

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

ইনপুট স্ট্রিং

ইনপুট

"010309278350515463917525773195876288659793814432989690721649484536082474226804123711340206185567"

আউটপুট

সত্য


FromDigitsএর চেয়ে সংক্ষিপ্তToExpression
JungHwan মিন

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