প্রদত্ত নম্বরটি ভ্যাম্পায়ার নম্বর হলে পরীক্ষা করুন


14

সম্পাদনা: জটিলতা বৃদ্ধির স্বার্থে, আমি চ্যালেঞ্জকে আরও যুক্ত করেছি।

গণিতে, একটি ভ্যাম্পায়ার নম্বর (বা সত্য ভ্যাম্পায়ার নম্বর) একটি সংখ্যক প্রাকৃতিক সংখ্যা, সমান সংখ্যার এন সহ, এটি দুটি সংখ্যার x এবং y এর মধ্যে এন / 2 ডিজিটের সাথে সংশ্লেষ করা যেতে পারে এবং উভয় পিছনে শূন্যের সাথে নয়, যেখানে ভিতে x এবং y থেকে সমস্ত অঙ্কগুলি হুবহু, কোনও ক্রমে, বহুগুণ গণনা করে। x এবং y কে ফ্যাঙ্গস বলা হয়।

ভ্যাম্পায়ার নম্বর সম্পর্কে আরও

সিউডোভ্যাম্পায়ার সংখ্যা

সিউডোভ্যাম্পায়ার সংখ্যা ভ্যাম্পায়ার সংখ্যার সমান, কেবলমাত্র এন-ডিজিটের সিউডোভ্যাম্পায়ার সংখ্যার ফ্যাঙ্গগুলির দৈর্ঘ্য n / 2 সংখ্যার হওয়া উচিত নয়। সিউডোভ্যাম্পায়ার সংখ্যায় অদ্ভুত সংখ্যা থাকতে পারে, উদাহরণস্বরূপ 126 = 6 × 21।

ইনপুট

কমান্ড লাইন বা স্টিডিন থেকে নম্বর গ্রহণ করুন

আউটপুট

  • "1260 = 21 * 60" (সংখ্যাটি ভ্যাম্পায়ার হলে প্রথমে ছোট ফ্যাং।
  • "1261 ভ্যাম্পায়ার নম্বর নয়" " (যদি নম্বরটি ভ্যাম্পায়ার নম্বর না হয়)
  • "126 = 6 * 21"। (যদি নম্বরটি সিডোভ্যাম্পায়ার নম্বর হয়)

সম্পাদনা: যদি সংখ্যাটির একাধিক ফ্যাং থাকে তবে তা এটি প্রদর্শন করুন।

x = fang1a * fang1b = fang2a * fang2b

আমি সিদ্ধান্ত নিয়েছি প্রাইম ভ্যাম্পায়ারদের অন্তর্ভুক্ত না করব, আমি এটি দিয়ে ওভারবোর্ডে যাব না।
st0le

সম্ভবত আমার মুদ্রণ যুক্ত করা উচিত যদি এটি ভ্যাম্পায়ার বা সিউডোভ্যাম্পায়ার হয় তবে আপনি কী বলবেন?
st0le

একাধিক জোড়া কৌতুক সম্পর্কে কী?
gnibbler

@gnibbler, আমি এটি সংশোধন করব।
st0le

1
@ নকিলন, এগুলি ক্রমবর্ধমান ক্রমে মুদ্রণ করুন। fang1aসামনে প্রদর্শিত হবে fang2aযখনfang1a < fang2a
st0le

উত্তর:


5

পাইথন - 188 অক্ষর

সিউডোভ্যাম্পায়ার নম্বরগুলি করে না

from itertools import*
n=input()
a=[]
for i in map("".join,permutations(`n`)):x,y=int(i[::2]),int(i[::-2]);a+=[(x,y)]*(x*y==n)
print n,a and"=%s*%s"%min(a)or"is not a Vampire Number"

একাধিক জোড়া (125460 এর জন্য) পরিচালনা করে না এবং পরে স্থান মিস হয় =
নাকিলন


@ নাকিলন, এই উত্তরটি একাধিক জোড়ার
সংশোধনটির

4

রুবি, ১৯০ টি চর

o=[]
[*x.chars].permutation{|r|a=r.pop(x.size/2).join.to_i
r=r.join.to_i
o|=[[a,r]]if a<=r&&a*r==x.to_i}
puts x+(o.any? ? o.map{|i|" = "+i*" * "}*"":" is not a Vampire Number.")
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.