এটি কি লঞ্চ-বেল নম্বর?


25

ইনপুট হিসাবে আপনাকে একটি ইতিবাচক, পুরো নম্বর দেওয়া হবে (এতে কখনই 0 থাকবে না)। আপনার কাজটি এটি লিঞ্চ-বেল নম্বর কিনা তা যাচাই করা।

একটি সংখ্যা একটি লঞ্চ-বেল নম্বর হয় যদি এর সমস্ত অঙ্কগুলি অনন্য হয় এবং সংখ্যাটি প্রতিটি অঙ্কের সাথে বিভাজ্য হয়।

প্রকৃতপক্ষে, লঞ্চ-বেলের সংখ্যা কেবলমাত্র 548 টি, সুতরাং হার্ড-কোডিংয়ের সম্ভাবনা রয়েছে তবে এটি অবশ্যই দীর্ঘতর হবে।

126 একটি লিঞ্চ-বেল নম্বর কারণ এর সমস্ত অঙ্কগুলি অনন্য এবং 126 1, 2 এবং 6 দ্বারা বিভাজ্য।

আপনি কোনও সত্যবাদী এবং মিথ্যা মান আউটপুট করতে পারেন।

উদাহরণ:

7 -> truthy
126 -> truthy
54 -> falsy
55 -> falsy
3915 -> truthy

এটি OEIS A115569


1
সম্পর্কিত। (সিদ্ধান্ত নেওয়ার পরিবর্তে সমস্ত সংখ্যা
মার্টিন এন্ডার

2
আমি কি স্ট্রিং হিসাবে ইনপুট নিতে পারি?
TheLethalCoder

2
@TheLethalCoder অবশ্যই আপনি পারেন, এটি একটি নির্বোধ প্রশ্ন।
Okx

10
@ ওকএক্স সমস্ত চ্যালেঞ্জ পোস্টারগুলি তাদের অনুমোদিত ইনপুটগুলিতে ততটা নমনীয় নয় যতটা আপনার কাছে সর্বদা জিজ্ঞাসা করার মতো মূল্য।
TheLethalCoder

উত্তর:


27

গণিত, 42 বাইট

0!=##&@@d&&##&@@((d=IntegerDigits@#)∣#)&

আমি মনে করি 0!=##&@@d&&##&@@গণিতের পাঠযোগ্যতায় একটি নতুন নিম্ন ...

ব্যাখ্যা

এখানে ব্যবহৃত কিছু বেসিক সিনট্যাকটিক চিনি:

  • & খুব কম অগ্রাধিকার রয়েছে এবং এর বাকি সমস্ত কিছুই একটি নামহীন ফাংশনে পরিণত করে।
  • &&শুধু Andঅপারেটর।
  • # নিকটতম ঘেরযুক্ত নামহীন ফাংশনের যুক্তি।
  • ##একটি হল ক্রম ফাংশনের আর্গুমেন্ট সব।
  • @ফাংশন কলগুলির জন্য উপসর্গ স্বরলিপি, অর্থাত্‍ f@x == f[x]
  • @@হয় Applyযা ফাংশন, অর্থাত করতে পৃথক আর্গুমেন্ট হিসাবে একটি তালিকা উপাদান পাস, f@@{a,b,c} == f[a,b,c]

উপায় যে বাইরে ...

(d=IntegerDigits@#)

এটি মোটামুটি স্ব-ব্যাখ্যামূলক হওয়া উচিত: এটি আমাদেরকে ইনপুটটির দশমিক সংখ্যাগুলির তালিকা দেয় এবং ফলাফলটি সংরক্ষণ করে d

(...∣#)

এটি এর প্রতিটি অঙ্ক দ্বারা বিভাজ্যতার জন্য ইনপুট পরীক্ষা করে (কারণ বিভাজন অপারেটর হয় Listable)। এটি আমাদের Trueগুলি এবং Falseএসগুলির একটি তালিকা দেয় ।

...&@@...

আমরা বুলিয়ানের তালিকার বাম দিকে ফাংশনটি প্রয়োগ করি, যেমন প্রতিটি বুলিয়ান একটি পৃথক যুক্তি।

...&@@d

আমরা এতে আরও একটি ফাংশন প্রয়োগ করি d, যাতে পৃথক অঙ্কগুলি পৃথক যুক্তি হিসাবে দেওয়া হয়। ফাংশনটি হ'ল 0!=##&, মানে । এটি পরীক্ষা করে যে সমস্ত অঙ্ক পৃথক পৃথক (এবং এগুলি পৃথক তবে এটি চ্যালেঞ্জের দ্বারা প্রদত্ত, এবং যদি এটি না হয় তবে এটি কোনওভাবেই বিভাজক হবে না)। এটি নিজেকে ব্যবহার করার জন্য কেবলমাত্র 1-বাইট সেভার এবং এটি কাজ করে কারণ 1 বাইট উপাদান রয়েছে ( যা আমরা জানি যে উপস্থিত নেই। সুতরাং এই প্রথম জিনিসটি পরীক্ষা করে যে অঙ্কগুলি অনন্য। আসুন এই ফলাফলটি কল করুনUnequal[0, d1, d2, ...]00!=##&Unequal0U

...&&##

আবার, এটি সত্যিই কেবল শর্টহ্যান্ডের জন্য And[U, ##]##সিকোয়েন্স হওয়ার সাথে সাথে , প্রাথমিক বিভাজ্যতা চেক থেকে পৃথক বুলিয়ানগুলি প্রসারিত হয় And, সুতরাং আমরা পাই যে দুটি অঙ্কই অনন্য এবং প্রতিটি অঙ্ক ইনপুটকে বিভক্ত করে।And[U, d1∣n, d2∣n, ...]


6
##&@@d&&##&@@? এটা কি করে?
Okx

@ ওকএক্স একটি ব্যাখ্যা যুক্ত করেছে।
মার্টিন ইন্ডার

আপনি কি 0!=দ্বারা প্রতিস্থাপন করতে পারেন 0<?
সার্জিওল

@ সার্জিওল আমাকে এটি করতে ডিজিটগুলি বাছাই করতে হবে।
মার্টিন ইন্ডার

পাঠযোগ্যতার ক্ষেত্রে নতুন কম, সাধারণত ম্যাথমেটিকাকে দেখতে পেল কয়েকটি ফাংশন নামের চারপাশে সিনট্যাক্স-চিনির গুচ্ছের মতো, আমি চিনতাম না আপনি পুরোপুরি চিনির বাইরে প্রোগ্রাম তৈরি করতে পারেন: পি (অবশ্যই, আপনার দুর্দান্ত ব্যাখ্যাটি আমাকে দেখতে দিন) এটি অবশ্যই সমস্ত চিনি নয়, তবে এখনও, খুব চিত্তাকর্ষক!)
এমব্রিগ

11

পাইথন 3 , 56 বাইট

lambda n:any(int(n)%int(x)for x in n)or len(n)>len({*n})

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

আউটপুট Falseযদি এটি লঞ্চ-বেল নম্বর হয়, Trueঅন্যথায়।


1
এটি কি স্ট্রিং হিসাবে ইনপুটিং?
ক্যালকুলেটরফলাইন

2
এটির দুটি সমস্যা রয়েছে: 1) এটি নির্দিষ্ট হিসাবে সত্য / মিথ্যা উত্তর দেয় না (এটি মাত্র 4 বাইট!); 2) এটি "10" ইনপুটটিতে একটি ব্যতিক্রম ছুঁড়ে। অন্যথায়, খুব সুন্দর এবং সংক্ষিপ্ত!
সিআর ড্রস্ট

নিবন্ধন করুন
সিআর ড্রস্ট

@CRDrost 1) ouput সুনির্দিষ্ট তাই কোন সমস্যা নেই (সাধারণত) 2) সেখানে হবে না 0ইনপুটে
ডান্ডা

1
1) আমি বলতে চাইছি, এখানে একটি সমস্যা আছে, যা তারা এক্স চেয়েছিলেন এবং আপনি তা দেননি। ২) আহা, আপনি পুরোপুরি ঠিক বলেছেন, আমি তা পুরোপুরি মিস করেছি।
সিআর ড্রস্ট


6

সি #, 87 83 বাইট

using System.Linq;s=>s.Distinct().Count()==s.Length&s.All(c=>int.Parse(s)%(c-48)<1)

আমি ভিজ্যুয়াল স্টুডিওতে পরীক্ষা করার আগে নোটপ্যাডে এটি লিখেছিলাম, যেখানে এটি দুর্দান্ত কাজ করেছে, তাই ঠিক বুঝতে পেরেছি যে আমি এখন সেই স্তম্ভীর স্তর ...

সম্পূর্ণ / ফর্ম্যাট সংস্করণ:

using System;
using System.Linq;

class P
{
    static void Main()
    {
        Func<string, bool> f = s => s.Distinct().Count() == s.Length
                                  & s.All(c => int.Parse(s) % (c - 48) < 1);

        Console.WriteLine(f("7"));
        Console.WriteLine(f("126"));
        Console.WriteLine(f("54"));
        Console.WriteLine(f("55"));
        Console.WriteLine(f("3915"));

        Console.ReadLine();
    }
}


6

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

s=>![...s].some((e,i)=>s%e|s.search(e)<i)

একটি স্ট্রিং এবং আয় যেমন ইনপুট লাগে trueবা falseযথাযথ হিসাবে। সম্পাদনা করুন: @ রিকহিচকককে ধন্যবাদ 1 বাইট সংরক্ষিত অন্যান্য সংস্করণ:

স্ট্রিং হিসাবে ইনপুট নেয় এবং 40 টি বাইটের জন্য ফেরত দেয় ( 0বা 1লজিক্যাল ইনভার্স):

s=>/(.).*\1/.test(s)|[...s].some(e=>s%e)

সংখ্যার হিসাবে ইনপুট নেয় এবং ফেরত দেয় 0বা 143 বাইটের জন্য:

n=>/(.).*\1/.test(n)|[...''+n].some(e=>n%e)

সংখ্যার হিসাবে ইনপুট নেয় এবং ফেরত দেয় 1বা 045 বাইটের জন্য:

n=>!/(.).*\1/.test(n)&![...''+n].some(e=>n%e)

ব্যাক-রেফারেন্সিংয়ের option n বিকল্পের সাথে আমি অপরিচিত ছিলাম। +1 টি। বাইট সংরক্ষণের জন্য আপনি পরীক্ষার যুক্তিটিকে কিছু পদ্ধতিতে নিয়ে যেতে পারেন:s=>![...s].some((e,i)=>s%e|s.search(e)<i)
রিক হিচকক

আমি যখন ব্যবহার [...new Array(9999999)].map((_,n)=>n+1+"").filter(s=>![...s].some((e,i)=>s%e|s.search(e)<i)).lengthকরেছি তখন 5081প্রত্যাশার পরিবর্তে পেয়েছিলাম 548, সুতরাং এটি লিখিত হিসাবে সঠিক নয়। যদিও সত্যিই কড়া কোড।
সিআর ড্রস্ট

দুঃখিত, আমি এটি সঠিক না হওয়া সম্পর্কে আমার মন্তব্য প্রত্যাহার। আমার পরীক্ষার কোডটি সঠিক নয় কারণ আসল পোস্টারটি প্রত্যাশা করে যে শূন্যগুলি ইতিমধ্যে ফিল্টার হয়ে গেছে। অতিরিক্ত .filter(x => x.indexOf('0')===-1)হিসাবে এটি প্রতিশ্রুতি অনুসারে 548 ফেরত দেয়।
সিআর ড্রস্ট

6

জেলি , 6 4 বাইট

Dg⁼Q

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

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

Dg⁼Q  Main link. Argument: n

D     Decimal; convert n to base 10.
 g    Take the GCD of each decimal digit k and n.
      For each k, this yields k if and only if k divides n evenly.
   Q  Unique; yield n's decimal digits, deduplicated.
  ⁼   Test the results to both sides for equality.

3
gQV=আপনি যদি কেবল এএসসিআইআই-এর সমাধান পছন্দ করেন তবে তাও রয়েছে ।
ডেনিস

5

পাইথন 3 , 54 বাইট

ফেরত পাঠায় Falseএকটি সংখ্যা একটি লিঞ্চ-বেল সংখ্যা হয়। ইনপুট হিসাবে স্ট্রিং নেয়। আমার নিজের সাথে এসেছিল তবে রডের সাথে খুব মিল। আমি তার পোস্টের অধীনে মন্তব্য করব তবে এখনও আমার কোনও খ্যাতি নেই।

lambda s:len({*s})<len(s)+any(int(s)%int(c)for c in s)

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


2
পিপিসিজিতে আপনাকে স্বাগতম!
স্টিফেন

স্বাগত! রডের মতো, আপনার ফাংশন "10" ইনপুটটিতে একটি ব্যতিক্রম ছুঁড়ে।
সিআর ড্রস্ট

1
@ সিআরড্রোস্ট "ইনপুট হিসাবে আপনাকে একটি ধনাত্মক, পুরো নম্বর দেওয়া হবে (এটিতে কখনই 0 থাকবে না)" "
সি ম্যাকাভয়

ঠিক আছে, আমি অন্য যে কোনও জায়গায় মন্তব্য করেছি আমি এ সম্পর্কে অভিযোগ করেছি, তবে আমি অবশ্যই এটিকে মিস করেছি। দুঃখিত, প্রত্যাহার!
সিআর ড্রস্ট

@ CRDrost কোন উদ্বেগ নেই!
সি ম্যাকাভয়


2

পিএইচপি, 62 48 বাইট

while($i=$argn[$k++])$r|=$argn%$i|$$i++;echo!$r;

-nRবা সাথে পাইপ হিসাবে চালান এটি অনলাইনে পরীক্ষা করুন । সত্যের জন্য মিথ্যা, খালি আউটপুট 1

ভাঙ্গন

while($i=$argn[$k++])   # loop through digits
    $r|=                    # set $r to true if
        $argn%$i            # 1. number is not divisible by $i
        |$$i++;             # 2. or digit has been used before
echo!$r;                # print negated $r

2

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

(#)=<<show
(d:r)#n=notElem d r&&mod n(read[d])<1&&r#n
_#_=0<3

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

একটি নামহীন ফাংশন সংজ্ঞায়িত করে (#)=<<showযা একটি নম্বর, রিটার্ন দেয় Trueবা দেয় False


এই ফাংশনটি 10
ইনপুটটিতে

দুঃখিত, আমি এটি সম্পর্কে ভুল - আমি মিস করেছি যে আপনাকে 0 টি থাকা ইনপুটগুলির জন্য কোনও উত্তর দেওয়ার দরকার নেই।
সিআর ড্রস্ট



1

গণিত, 57 বাইট

Tr@Boole[IntegerQ/@Union[s=#/IntegerDigits@#]]==Length@s&

1
আপনি IsLynchBellNumber
বিল্টিন

1
আপনি মার্টিনকে একই প্রস্তাব দিচ্ছেন না কেন?
J42161217

@ ওকএক্স তবে সেভাবে মজা কম।
কিউব্রেট

@QBrute আপনি কি রসিকতা নিতে পারেন?
Okx

1
@ ওকএক্স এটি আরও বিশ্বাসযোগ্য হতে পারে LynchBellNumberQ। ;)
মার্টিন ইন্ডার


1

হাস্কেল, 260 241 201 162 বাইট

f([x])=1<2
f(x:xs)=not(x`elem`xs)&&(f xs)
r n i= n`mod`(read[(show n!!i)]::Int)==0
q n 0=r n 0 
q n i=r n i&&q n(i-1)
p n=length(show n)-1
s n=q n(p n)&&f(show n)

ব্যাখ্যা

f ([x]) = True                                           f function checks for                                                       
f (x:xs) = not(x `elem` xs) && (f xs)                    repeated digits              
r n i = n `mod` (read [(show n !! i)] :: Int) == 0       checks whether num is 
                                                         divisible by i digit
q n 0 = r n 0                                            checks wether n divisible
q n i = r n i && q n (i-1)                               by all of its digits                             
p n = length (show n) -                                  gets length of number                             
s n = (q n (p n)) && (f (show n))                        sums it all up!!!

লাইকনিতে থ্যাঙ্কস উল্লেখযোগ্যভাবে সংক্ষিপ্ত করে রেখেছেন


1
বিশেষত পিপিসিজি এবং হাস্কেল গল্ফিংয়ে আপনাকে স্বাগতম! এই উত্তরটি অতিরিক্ত অতিরিক্ত স্থানগুলি উদ্বোধন করে যথেষ্ট সংক্ষিপ্ত করা যেতে পারে, যেমন সমান চিহ্নগুলির আশেপাশে বা প্রথম বন্ধনের পাশের উত্তরগুলি।
লাইকনি

1
এছাড়াও আপনি আগ্রহী হতে পারে মধ্যে Haskell golfing জন্য টিপস এবং মধ্যে Haskell golfing বিধি গাইড
লাইকনি

আপনার পরামর্শের জন্য @ লাইকনি থ্যাঙ্কস! আমি এটি সন্ধান করছি
সের্গেই মার্টিনেঙ্কো

1

©!-> «-1 বাইটের জন্য
জাস্টিন মেরিনার

ধন্যবাদ, @ জাস্টিনমারিনার; জানি না কীভাবে এতক্ষণ দাগ পড়েছিল! যদিও আমি একটি সংক্ষিপ্ত সমাধান পেয়েছি।
শেগি

0

নিম , 9 বাইট

𝐮ℚ₁𝐅₁𝕌₁ℚ𝕒

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

-2 ওক্সকে ধন্যবাদ ।

হুম, একটি দুর্দান্ত প্রতিসাম্য আছে ... oO.O.O.Oo


আপনি গল্ফ 𝐂D𝐮𝔼করতে পারেন 𝐮ℚ(বৈধকরণ, সমতা উপেক্ষা করার ধরণের জন্য পরীক্ষা করুন)
Okx

সেখানে গল্ফ করার জন্য স্থির জায়গা;)
Okx

@ অক্স হুম ... আমি সেখানে বিশেষ আকর্ষণীয় কিছু দেখতে পাচ্ছি না।
এরিক আউটগল্ফার

0

পার্ল 6 , 27 বাইট

{$_%%.comb.all&&[!=] .comb}

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

  • .combএমন একটি পদ্ধতি যা কোনও আর্গুমেন্ট না দেওয়া হলে তার স্বতন্ত্র অক্ষরগুলিতে একটি স্ট্রিং বিভক্ত হয়। একটি সংখ্যা সুস্পষ্টভাবে একটি স্ট্রিতে রূপান্তরিত হয় এবং তাই .combএর অঙ্কগুলি ফেরত দেয়।
  • .comb.all সমস্ত সংখ্যার একটি এবং সন্ধি।
  • $_ %% .comb.allএর $_সমস্ত অঙ্ক দ্বারা ইনপুট আর্গুমেন্টের বিভাজ্যতার একটি এবং জংশন । উদাহরণস্বরূপ, যদি $_হয় 123তবে জংশনটি all(True, False, True), যা Falseসত্যবাদী প্রসঙ্গে ভেঙে পড়ে ।
  • [!=] .comb!=অপারেটরের সাথে ইনপুট আর্গুমেন্টের অঙ্কগুলি হ্রাস করে , যা Trueঅঙ্কগুলি সমস্ত পৃথক কিনা তা মূল্যায়ন করে ।

0

রেটিনা , 37 বাইট

(.).*\1
0
.
<$&$*1>$_$*
<(1+)>\1+

^$

এটি অনলাইন চেষ্টা করুন! লিঙ্কে পরীক্ষার কেস অন্তর্ভুক্ত রয়েছে। ব্যাখ্যা: প্রথম পর্যায়ে কোনও সদৃশ অঙ্ককে শূন্যের সাথে প্রতিস্থাপন করে। দ্বিতীয় পর্যায়ে প্রতিটি সংখ্যাকে এর অখাদ্য উপস্থাপনা এবং তারপরে মূল সংখ্যার অবিচ্ছিন্ন উপস্থাপনা দ্বারা প্রতিস্থাপন করা হয়। তৃতীয় স্তরটি তখন প্রতিটি অ-শূন্য অঙ্ক দ্বারা মূল সংখ্যার বিভাজনকে গণনা করে। যদি নম্বরটি লিঞ্চ-বেল নম্বর হয় তবে এটি সবকিছু মুছে ফেলবে এবং এটি চূড়ান্ত পর্যায়ে পরীক্ষা করা হবে।



0

সিজেম, 17 বাইট

সিজেএম হ'ল গল্ফিং ভাষার জাভা। এমনকি এটি জাভাতেও ব্যাখ্যা করা হয়!

{_Ab__L|=@@f%:+>}

ব্যাখ্যা:

{   e# Stack:              3915
_   e# Duplicate:          3915 3915
Ab  e# Digits in base 10:  3915 [3 9 1 5]
__  e# Duplicate twice:    3915 [3 9 1 5] [3 9 1 5] [3 9 1 5]
L|  e# Remove duplicates:  3915 [3 9 1 5] [3 9 1 5] [3 9 1 5]
=   e# Test equality:      3915 [3 9 1 5] 1
@@  e# Rotate twice:       1 3915 [3 9 1 5]
f%  e# Modulo each:        1 [0 0 0 0]
:+  e# Sum:                1 0
>   e# Greater than:       1
}   e# Output:             1 (truthy)

0

ভিবিএস স্ক্রিপ্ট, 177 বাইট

আরে সবাই, এটি আমার প্রথম সিজি পোস্ট, এবং প্রথম প্রচেষ্টা, তাই আশা করি আমি সমস্ত নিয়ম অনুসরণ করেছি ...

Function L(s)
dim i,j,k,m,n
j = Len(s)
redim a(j)
n = 0
for i = 0 to j-1
   A(i) = Mid(s,i+1,1)   
   m = m + s Mod A(i)   
   if j = 1 then         
   else                             
        for k = 0 to i - 1        
            if A(i)  = A(k) then n = n + 1   
        next
   end if
next
if m + n = 0 then L = "y" else L = "n"
End Function

এটি নোটপ্যাড থেকে শেষে একটি লাইন যুক্ত করে চালানো যেতে পারে

Msgbox L(InputBox(""))

এবং তারপরে এটি .vbs হিসাবে সংরক্ষণ করুন, তারপরে ডাবল ক্লিক করুন।

ব্যাখ্যা:

Function L(s)                  'creates the function "L" taking test number as input
dim i,j,k,t,m,n                'variables
j = Len(s)                     '"j" gets length of test number
redim a(j)                     'creates array "a", size is length of test number 
n = 0                          'sets repeat character counter "n" to zero
for i = 0 to j-1               'for length of string
   A(i) = Mid(s,i+1,1)         'each array slot gets one test number character
   m = m + s Mod A(i)          '"m" accumulates moduli as we test divisibility of each digit
   if j = 1 then               'if test number is of length 1, it passes (do nothing)
   else                        'otherwise, gotta test for repeats     
        for k = 0 to i - 1     'for each digit already in array, test against current digit   
            if A(i)  = A(k) then n = n + 1  
                               'repeat char counter "n" stores no of repeats  
        next                   'proceed through array looking for repeat  
   end if
next                           'test next digit for divisibility and repeats
if m + n = 0 then L = "y" else L = "n"      
                               'check for any repeats and moduli,
                               'then return yes or no for LynchBelledness
End Function

ভিবিএস স্ক্রিপ্ট হ'ল গল্ফ করার জন্য কিছুটা ভোঁতা যন্ত্র, তবে ওহে, আমি রুবি এখনও শিখি নি ...


আপনি 'এল = "ওয়াই" এর মতো কিছু সাদা জায়গা সরাতে পারবেন না
ওপেক্স

প্রযুক্তিগতভাবে, হ্যাঁ! আমার এমনটি করা উচিত ... বিটিডব্লিউ, আমি কোডগল্ফ ভাষাগুলি খুঁজছি যা শিখতে শীতল হতে পারে তবে বেশিরভাগের জন্য ডকুমেন্টেশনটি ন্যূনতম থেকে অস্তিত্বহীন ... কেউ কি এমন কোনও ভাল ভাষার প্রস্তাব দিতে পারেন যা ভালভাবে নথিভুক্ত আছে? "প্রকৃতপক্ষে / সিরিয়াসলি" চেষ্টা করে
দেখছিলাম কিন্তু ডকটির

0

পিএইচপি , 51 বাইট

সত্যের জন্য শূন্য এবং মিথ্যের জন্য একটি মুদ্রণ করে

for(;$c=$argn[$i++];$$c=1)$t|=$$c||$argn%$c;echo$t;

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

পিএইচপি , 62 বাইট

সত্যের জন্য শূন্য এবং মিথ্যের জন্য একটি মুদ্রণ করে

for($a=$argn;$c=$a[$i];)$t|=strpos($a,$c)<+$i++||$a%$c;echo$t;

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


0

পাইথ , 10 বাইট

qiRQKjQT{K

সমস্ত পরীক্ষার কেস যাচাই করুন।

কিভাবে?

qiRQKjQT {K ~ সম্পূর্ণ প্রোগ্রাম।

     jQT the ইনপুটটির দশমিক সংখ্যাগুলির তালিকা।
    কে a একটি ভেরিয়েবল কে বরাদ্দ করুন।
 আইআরকিউ each প্রতিটি দশমিক অঙ্কের জন্য ...
 i Q ~ ... ইনপুট নিজেই সর্বাধিক সাধারণ ডিভিউজার পান।
        সদৃশ উপাদানগুলি সহ {K ~ K মুছে ফেলা হয়েছে।
q equal সমান? সুস্পষ্টভাবে আউটপুট।

Pyth , 11 বাইট

&!f%sQsTQ{I

সমস্ত পরীক্ষার কেস যাচাই করুন।

কিভাবে?

&! f% sQsTQ {I ~ সম্পূর্ণ প্রোগ্রাম, অন্তর্নিহিত ইনপুট সহ।

  f Q the ইনপুট স্ট্রিংয়ের মাধ্যমে ফিল্টার করুন।
   % sQsT ~ ইনপুটটি বর্তমান সংখ্যাকে একটি পূর্ণসংখ্যায় রূপান্তরিত করে।
             0 এটি 0 এর চেয়ে বেশি হলে এটি রাখে এবং অন্যথায় তা ত্যাগ করে।
 ! G আলোচনা। তালিকাটি খালি থাকলে, সত্যটি দেয়, অন্যথায় মিথ্যা returns
& {I ~ এবং ইনপুটটি কী অনুলিপিাধীন? সুস্পষ্টভাবে আউটপুট।


0

কোটলিন 1.1, 98 66 59 বাইট

{i->i.none{i.toInt()%(it-'0')>0}&&i.length==i.toSet().size}

শোভিত

{i ->
    // None of the digits are not factors
    i.none { i.toInt() % (it-'0') > 0 }
    // AND
    &&
    // None of the digits are repeated
    i.length == i.toSet().size
}

পরীক্ষা

var L:(String)-> Boolean =
{i->i.none{i.toInt()%(it-'0')>0}&&i.length==i.toSet().size}
data class TestData(val input: String, val output: Boolean)

fun main(args: Array<String>) {
    var inputs = listOf(
        TestData("7", true),
        TestData("126", true),
        TestData("54", false),
        TestData("55", false),
        TestData("3915", true)
    )

    for (test in inputs) {
        if (L(test.input) != test.output) {
            throw AssertionError(test.toString())
        }
    }
    println("Test Passed")
}

0

এপিএল (ডায়ালগ ইউনিকোড) , 24 বাইট

{((,⍵)≡∪⍵)×∧/0=(⍎¨⍵)|⍎⍵}

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

সিম্পল ডিএফএন, সম্ভবত আরও কিছুটা গল্ফ করা যেতে পারে। সত্যের জন্য ফলন স্ট্যান্ডার্ড এপিএল বুলিয়ান 1, মিথ্যা বলার জন্য 0।

এটি উল্লেখ করার মতো বিষয় যে ফাংশনটি আর্গুমেন্টগুলিকে ইনটগুলির চেয়ে স্ট্রিং হিসাবে গ্রহণ করে।

কিভাবে:

{((,⍵)≡∪⍵)×∧/0=(⍎¨⍵)|⍎⍵}  Dfn, argument ⍵.
                      ⍎⍵   Convert  to integer
                     |     Modulus
                (⍎¨⍵)      Each digit in 
              0=           Equals 0? Returns a vector of booleans
            ∧/             Logical AND reduction
           ×               multiplied by (the result of)
  (     ∪⍵)                unique elements of 
                          Match
   (,⍵)                     as a vector; the Match function then returns 1 iff all digits in  are unique

0

জুলিয়া 1.0 , 39 বাইট

f(x,d=digits(x))=rem.(x,d)==0*unique(d)

rem.(x,d)প্রতিটি ভিজিটর x এর সাথে এক্স বিভাজনের পরে অবশিষ্টাংশযুক্ত ভেক্টর x0*unique(d)সমস্ত শূন্য মান সহ অনন্য অঙ্কের সংখ্যার সমান দৈর্ঘ্য সহ একটি ভেক্টর। তারা সমান কিনা তা পরীক্ষা করুন।

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


0

রুবি -এন , 40 বাইট

p gsub(/./){$'[$&]||$_.to_i%$&.hex}<?0*8

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

স্ট্রিং হিসাবে নম্বর পড়ুন। প্রতিটি অক্ষর (অঙ্ক) প্রতিস্থাপন করে তারপরের সেই অক্ষরের পরবর্তী উপস্থিতি, উপস্থিত থাকলে, বা পুরো সংখ্যাটি সেই অঙ্কের মোডুলো করে দেয়। এর ফলে কেবলমাত্র একটি স্ট্রিং আসবে0 এর যদি এটি লঞ্চ-বেল নম্বর হয় তবেই ঘটতে পারে। কেন? যদি কোনও পুনরাবৃত্তি অঙ্ক থাকে তবে শেষের প্রতিটি উদাহরণ একই থাকে এবং ইনপুটটিতে শূন্য নেই যার অর্থ একটি শূন্য নয়। অন্যথায়, আমরা কেবল প্রতিটি সংখ্যাটি সমানভাবে সংখ্যাটিকে বিভক্ত করে কিনা তা খতিয়ে দেখছি।

যেহেতু 8-বা-বেশি-অঙ্কের লঞ্চ-বেল সংখ্যা নেই (আনুষ্ঠানিক প্রমাণ: ওইআইএসআই তাই বলে), ফলাফলটি স্ট্রিংটি ডিক্সোগ্রাফিকভাবে স্ট্রিংয়ের চেয়ে আগে রয়েছে '00000000'কিনা তা যাচাই করার সমতুল্য কিনা তা সব জিরো কিনা তা যাচাই করার জন্য।


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