দুটি সংখ্যায় কী অনন্য ফ্যাকটোরিয়াল থাকে?


11

তাদের সংখ্যাগুলিকে দুটি সংখ্যা ভেঙে দিন; যদি তারা কোনও ভাগ করে দেয় তবে একটি ভুয়া মান ফেরত দিন। অন্যথায়, সত্যবাদী মানটি ফিরিয়ে দিন। ( সাম্প্রতিক এই প্রশ্নে অনুপ্রাণিত )

অন্য কথায়, প্রতিটি ইনপুট নম্বর লোভনীয় সম্ভাব্য উপায়ে ফ্যাক্টরিয়ালগুলির (ধনাত্মক পূর্ণসংখ্যার) যোগফল হিসাবে লিখুন; কোনও সত্যবাদী উভয় উপস্থাপনায় উপস্থিত না হলে সত্যবাদী মানটি ফিরিয়ে দিন, অন্যথায় একটি মিথ্যা মান।

উদাহরণ

20 এবং 49 দেওয়া হয়েছে:

20 = 3! + 3! + 3! + 2!
49 = 4! + 4! + 1!

উভয় উপস্থাপনায় কোনও ফ্যাক্টরিয়াল উপস্থিত হয় না, সুতরাং সত্যবাদী মানটি ফিরিয়ে দিন।

32 এবং 132 দেওয়া:

132 = 5! + 3! + 3!
 32 = 4! + 3! + 2!

3! উভয় উপস্থাপনা উপস্থিত হয়, সুতরাং একটি মিথ্যা মান ফিরে।

ইনপুট / আউটপুট

ইনপুট এবং আউটপুট যে কোনও মানক উপায়ের মাধ্যমে হতে পারে ।

ইনপুট সর্বদা দুটি নন-নেগেটিভ পূর্ণসংখ্যা হবে; আপনার ভাষার প্রয়োজন অনুসারে এই পূর্ণসংখ্যার উপর কোনও উচ্চ আবদ্ধ নয়।

আউটপুট একটি সত্যবাদী বা মিথ্যা মান হওয়া উচিত । যতক্ষণ না প্রতিটি আউটপুট সঠিকভাবে সত্য / মিথ্যা হয় ততক্ষণ এই মানগুলি বিভিন্ন ইনপুটগুলির জন্য সামঞ্জস্যপূর্ণ হতে হবে না।

পরীক্ষার কেস

যদি একটি ইনপুট হয় 0তবে উত্তরটি সর্বদা সত্য হবে। অন্যান্য সত্যবাদী পরীক্ষার মামলা:

{6, 3}, {4, 61}, {73, 2}, {12, 1}, {240, 2}, {5, 264}, {2, 91}, {673, 18},
 {3, 12}, {72, 10}, {121, 26}, {127, 746}

উভয় ইনপুট যদি বিজোড় পূর্ণসংখ্যার হয় বা উভয় ইনপুট একই ধনাত্মক পূর্ণসংখ্যা হয় তবে আউটপুট সর্বদা মিথ্যা হবে। অন্যান্য ভুয়া পরীক্ষার মামলা:

{8, 5}, {7, 5}, {27, 47}, {53, 11}, {13, 123}, {75, 77}, {163, 160}, {148, 53},
 {225, 178}, {285, 169}, {39, 51}, {207, 334}, {153, 21}, {390, 128}, {506, 584},
 {626, 370}, {819, 354}

এটি , তাই খুব কম বাইট জয়!


"প্রতিটি ইনপুট নম্বরটি লোভনীয় সম্ভাব্য উপায়ে ফ্যাকটোরিয়ালগুলির (ধনাত্মক পূর্ণসংখ্যার) যোগফল হিসাবে লিখুন" আপনি তার পরিবর্তে সবচেয়ে অলস সম্ভাব্য উপায়টি বোঝাচ্ছেন না?
ব্যবহারকারী 41805

4
নিবন্ধন করুন তিনি লোভী অ্যালগরিদম হিসাবে পরিচিত অ্যালগরিদমের শ্রেণীর কথা উল্লেখ করছেন, যা প্রতিটি পদক্ষেপের পরে কিছুটা মেট্রিক বাড়িয়ে কাজ করে। হিসাবে হিসাবে, সর্বদা তারা পারেন হিসাবে গ্রহণ করা।
জন ডিভোরাক

উত্তর:


9

জেলি , 7 বাইট

Æ!ṠḄ&/¬

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

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

Æ!ṠḄ&/¬  Main link. Argument: (x, y) (pair of integers)

Æ!       Convert x and y to factorial base.
  Ṡ      Apply the sign function to each digit.
   Ḅ     Unbinary; convert each resulting Boolean array from base 2 to integer.
    &/   Reduce the resulting pair of integers by bitwise AND.
      ¬  Take the logical NOT of the result.

Æ!নির্দিষ্ট পরিস্থিতিতে দৃane়ভাবে দরকারী বলে মনে হচ্ছে।
যাদু অক্টোপাস উরন

লক্ষণ না নিয়ে সরাসরি কল্পিত-ভিত্তিক তালিকাগুলিকে গুণিত-গুণিত করার চেষ্টা করে কী অর্জন করা যায়?
গ্রেগ মার্টিন

@ গ্রেগমার্টিন অঙ্কগুলি অ্যারে একই দৈর্ঘ্যে প্যাডড বা ছাঁটাই করতে হবে, এটি সম্ভবত এটির চেয়ে বেশি বাইটের জন্য ব্যয় করবে।
ডেনিস



2

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

(a,b,g=(n,e=1,f=1)=>n>=f&&g(n,++e,f*e)+((n/f|0)%e&&1<<e))=>!(g(a)&g(b))

জাভাস্ক্রিপ্টের পূর্ণসংখ্যাগুলি 53 বিট নির্ভুলতার মধ্যে সীমাবদ্ধ, যা প্রায় 18 এর পক্ষে যথেষ্ট; এর অর্থ হল যে কোন ফ্যাকটোরিয়ালগুলি প্রয়োজন তা ট্র্যাক করতে আমি 18 বিটের একটি মাস্ক ব্যবহার করতে পারি।



0

গণিত, 73 বাইট

F[x_]:=First@IntegerPartitions[x,99,Range[99]!];!IntersectingQ[F@#,F@#2]&

ইনপুট ফর্ম

[X1, x2]


আমি এটি পরীক্ষার জন্য বেশ কয়েকটি ত্রুটি পাচ্ছি ...
স্কট মিলনার

কেবল শেষে লিখুন [x1, x2]
J42161217

আহ। আমি দুটি পৃথক পূর্ণসংখ্যার পরিবর্তে একটি তালিকা ইনপুট করছিলাম। আপনি এটি ±x_:=First@IntegerPartitions[x,99,Range[99]!];!IntersectingQ[±#,±#2]&[4,61](69 বাইট) আরও গল্ফ করতে পারেন । আইএসও 8859-1 এনকোডিং-এ, এটি ±একটি বাইট।
স্কট মিলনার

0

সি, 122 119 বাইট

G(q,i){return gamma(q+1)>i?gamma(q):G(q+1,i);}
Q(a,b,u,v){while(a&&b){a-=u=G(1,a);b-=v=G(1,b);if(a==b)exit();}exit(0);}

Qপ্রধান কাজ। এটি ঠিক দুটি ধনাত্মক পূর্ণসংখ্যার মানগুলির সাথে ডাকা উচিত। একটি সঙ্গে এই প্রস্থানের প্রস্থান কোড এর 0truthy এবং 1falsy জন্য।

যদিও এটি টিআইওতে কাজ করছে বলে মনে হচ্ছে না, এটি হোমব্রিউ সরবরাহ করে আমার সিস্টেমে কাজ করে gcc 7.1.0

আমি Cবেশ কিছুক্ষণের মধ্যে গল্ফ করিনি , তাই গল্ফিং টিপসটি খুব প্রশংসা করা হয়!

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