Knödel সংখ্যা - Kn খুঁজুন


10

নডেল নাম্বার

ন্যাডেল সংখ্যাগুলি ক্রমের একটি সেট। বিশেষ করে, একটি ধনাত্মক পূর্ণসংখ্যা জন্য Knödel সংখ্যার nযৌগিক সংখ্যার সেট হয় m, এই ধরনের যে সব i < m, coprime করতে m, সন্তুষ্ট i^(m-n) = 1 (mod m)। একটি নির্দিষ্ট জন্য Kneldel সংখ্যা সেট বোঝানো nহয় Kn। ( উইকিপিডিয়া )

উদাহরণস্বরূপ, K1হয় কারমাইকেল সংখ্যার এবং OEIS A002997 । তারা মত যান: {561, 1105, 1729, 2465, 2821, 6601, ... }K2হয় OEIS A050990 এবং ভালো যায় {4, 6, 8, 10, 12, 14, 22, 24, 26, ... }

তোমার কাজ

আপনার কাজটি একটি প্রোগ্রাম / ফাংশন / ইত্যাদি লিখতে হয়। যে দুটি সংখ্যা লাগে, nএবং p। এটি pনডেল সিকোয়েন্সের প্রথম সংখ্যাগুলি ফিরিয়ে আনবে Kn

এটি , তাই বাইটের মধ্যে সংক্ষিপ্ততম কোড!

উদাহরণ

1, 6   ->   [561, 1105, 1729, 2465, 2821, 6601]
2, 3   ->   [4, 6, 8]
4, 9   ->   [6, 8, 12, 16, 20, 24, 28, 40, 44]
3, 1   ->   [9]
3, 0   ->   []
21, 21 ->   [45, 57, 63, 85, 105, 117, 147, 231, 273, 357, 399, 441, 483, 585, 609, 651, 741, 777, 861, 903, 987]

1
4সিকোয়েন্সে নেই কেন K_4? i^(4-4) = 1 mod 4সর্বদা সত্য।
isaacg

1
@ আইস্যাক ম্যাথওয়ার্ল্ডের অতিরিক্ত শর্ত রয়েছে m > n
মার্টিন ইন্ডার

উত্তর:


6

পাইথ, 29 28 বাইট

.f&tPZ!f&q1iTZt%^T-ZQZSZvzhQ

1 জ্যাকেট এবং অর্পলকে বাইট সংরক্ষণ করা হয়েছে।

প্রদর্শন.

ফর্ম ইনপুট

p
n

মোটামুটি সরল গণনা। পাইথের জিসিডি ফাংশনটির মাধ্যমে আপেক্ষিক প্রাইমনিটি চেক করা হয়। এই কোডটি .fপাইথের "প্রথম এন সন্তোষজনক" ফাংশনটি দেখায় ।

আমি অন্তর্নিহিত শর্তটি অন্তর্ভুক্ত করেছি যা মানগুলির m > nজন্য অনুসন্ধান শুরু করে ।mn + 1


4

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

খুব সরল বাস্তবায়ন। একটি বাইনারি অপারেটর সংজ্ঞায়িত করে n!p

n!p=take p[m|m<-[n+1..],any((<1).mod m)[2..m-1],and[i^(m-n)`mod`m<2|i<-[1..m],gcd i m<2]]

উদাহরণ:

Prelude> 4!9
[6,8,12,16,20,24,28,40,44]

2
কিসের m>nজন্য?
রুবিক

আমার কোন ধারণা নাই. আমি negative exponentত্রুটি পেয়ে যাচ্ছিলাম 21!21, এবং এটি যুক্ত করে সমস্যার সমাধান করছি।
লিন

1
আমি হাস্কেলকে ইনস্টল করেছিলাম এবং কীভাবে m>n&&বিট থেকে মুক্তি পাবেন তা নির্ধারণের জন্য, এটি কাজ m<-[4..]করে m<-[n+1..]বলে মনে হচ্ছে। আপনি 91 এর বাইট গণনা পাবেন!
কেড

1
ঝরঝরে! ধন্যবাদ, @ ভিওজ
লিন

@ ভিওজ- সুতরাং আপনি আগে হাস্কেলকে না জেনে হাস্কেলের সাথে হস্তক্ষেপ করেছিলেন? তুমি এটা কিভাবে করলে?
গর্বিত হাসেলেলার

2

হাস্কেল, 90

a#b=gcd a b>1
n!p=take p[m|m<-[n+1..],any(m#)[2..m-1],all(\i->m#i||mod(i^(m-n))m<2)[1..m]]

@ মারিয়াসের উত্তর হিসাবে অনেকটা একই, যদিও স্বতন্ত্রভাবে বিকাশ হয়েছে।

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