কিছু মোটামুটি সংখ্যা তৈরি করুন


15

পটভূমি

একটি সংখ্যা nহিসাবে হিসাবে বর্ণনা করা যেতে পারে Bযদি সমস্ত মৌলিক উপাদানগুলি nকঠোরভাবে অতিক্রম করে B

চ্যালেঞ্জ

দুটি ধনাত্মক পূর্ণসংখ্যার দেওয়া Bএবং k, প্রথম k B-নম্বর সংখ্যাগুলি আউটপুট দেয় ।

উদাহরণ

আসুন f(B, k)একটি ফাংশন যা প্রথম k B-সংখ্যা সংখ্যা সহ সেটটি দেয় returns

> f(1, 10)
1, 2, 3, 4, 5, 6, 7, 8, 9, 10

> f(2, 5)
1, 3, 5, 7, 9

> f(10, 14)
1, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59

2
আপনি কি চ্যালেঞ্জটি বিস্তারিতভাবে বলতে পারেন? আমি এটা বুঝতে পারি না। উদাহরণগুলি ব্যাখ্যা করতে পারেন?
db

আমি কখনই আপনার উত্তরগুলিতে 1 টি অন্তর্ভুক্ত করব না যখন কখনই এর চেয়ে বেশি হয় না B?
kamoroso94

1
1 এর কোনও মৌলিক উপাদান নেই, সুতরাং 1 এর প্রতিটি মৌলিক উপাদান বি এর চেয়ে বড় এবং 1 এর বি এর আউটপুটটিতে উপস্থিত হওয়া উচিত
হুড

@db nপ্রাইমগুলিতে ফ্যাক্টরাইজ করুন । যদি এই সমস্ত প্রাইমগুলির চেয়ে বেশি হয় B, n হয় Brough
অ্যাডিসন ক্রম্প

@ অ্যাডিসনক্র্যাম্প উদাহরণস্বরূপ, যেহেতু 35 এর প্রাইমগুলি 5 এবং 7, 35 হ'ল 4 রুক্ষ? এটি কি কিছু স্বীকৃত সাধারণ পরিভাষা? আগে কখনো এটি শুনিনি. আমি এখনও উদাহরণগুলির অধীনে নেই, বিশেষত শেষটি নয়। 14 সংখ্যা কিন্তু 10 কি ??
db

উত্তর:


5

হাস্কেল , 53 44 বাইট

b%k=take k[n|n<-[1..],all((>0).mod n)[2..b]]

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

-9 বাইটের জন্য এইচ.পি.উইজকে ধন্যবাদ !

b%k=                       -- given inputs b and k
 take k                    -- take the first k elements from 
  [n|n<-[1..]              -- the infinite list of all n > 0
   ,all            [2..b]] -- where all numbers from 2 to b (inclusive)
      ((>0).mod n)         -- do not divide n.

এটি কিছুটা সহজ করা যেতে পারে
এইচপিউইজ

@ এইচ.পি.উইজ রাইট, একরকম আমি কেবল (>b)অনুধাবনের ভিতরে অংশটি নিয়ে যাবার চিন্তা করেছি (যা কাজ করে না) তবে অন্যভাবে নয়। ধন্যবাদ!
লাইকনি

5

পাইথন 3 , 80 , 75 বাইট

lambda B,k:[i for i in range(1,-~B*k)if all(i%j for j in range(2,B+1))][:k]

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

5 বাইট সংরক্ষণ করার জন্য shooqie ধন্যবাদ ।

বি*

বিকল্প সমাধান:

পাইথন 2 , 78 বাইট

B,k=input()
i=1
while k:
 if all(i%j for j in range(2,B+1)):print i;k-=1
 i+=1

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

এই সমাধানটি উপরের সমাধানটি করে না । এবং অনেক বেশি দক্ষ।


3
হুম, এই অনুমানটি সম্ভবত যাচাইযোগ্য তবে তবুও একটি আকর্ষণীয় সমস্যা। আমি প্রমাণ হিসাবে অনুগ্রহ করব।
অ্যাডিসন ক্রম্প

1
না কেন lambda B,k:[i for i in range(1,-~B*k)if all(i%j for j in range(2,B+1))][:k]?
shooqie

1
এই টুইটটি আমার পছন্দ নয় আরও দেখুন গণিত.স্ট্যাকেক্সেঞ্জারওয়েজ.কমিশনস
আনুশ

@ আনুশ দুঃখজনকভাবে, আমার প্রমাণটি কাজ করে নি, কারণ আমি একটি ভুল করেছি
ব্ল্যাক আউল কাই


3

পার্ল 6 , 35 32 বাইট

-3 বাইট ধন্যবাদ ন্যালোনাফকে!

{grep(*%all(2..$^b),1..*)[^$^k]}

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

একটি বেনামি কোড ব্লক যা দুটি পূর্ণসংখ্যা নেয় এবং পূর্ণসংখ্যার একটি তালিকা প্রদান করে।

ব্যাখ্যা

{                              }  # Anonymous code block
 grep(             ,1..*)        # Filter from the positive integers
      *              # Is the number
       %             # Not divisible by
        all(      )  # All of the numbers
            2..$^b   # From 2 to b
                         [^$^k]   # And take the first k numbers


1
তালিকার allসমস্ত উপাদান সত্যবাদী কিনা তা অ্যাডিসনক্র্যাম্প পরীক্ষা করে দেখুন। আমি শীঘ্রই পুরো বিষয়টির জন্য একটি ব্যাখ্যা যুক্ত করব
জো কিং

নিবন্ধন করুন সুতরাং যে জংশন জন্য দরকারী!
জো কিং

হ্যাঁ, আপনি যে [&]পরিবর্তে ব্যবহার করতে পারেন তা নোট করুন all
nwellnhof

@ অ্যাডিসনক্র্যাম্প আমার ধারণা আমি allআর এইভাবে ব্যবহার করা হচ্ছে না, সুতরাং আমার উত্তরটি আপডেট করা উচিত। allপরিসীমাটিতে মানগুলির একটি জংশন তৈরি 2..bকরে এবং জংশনে যে কোনও ক্রিয়াকলাপ সম্পাদিত হয় সমস্ত মান একই সাথে সম্পাদিত হয়। যখন বুলিয়ান প্রসঙ্গে এটি দ্বারা মূল্যায়ন করা হয়, তখন এটি grepজংশনের সমস্ত মান সত্যবাদী, অর্থাৎ শূন্য নয় কিনা তা ভেঙ্গে যায়
জো কিং


2

কাঠকয়লা , 33 বাইট

NθNη≔⁰ζW‹Lυη«≦⊕ζ¿¬Φθ∧κ¬﹪ζ⊕κ⊞υζ»Iυ

এটি অনলাইন চেষ্টা করুন! লিঙ্কটি কোডটির ভার্জোজ সংস্করণ। ব্যাখ্যা:

NθNη

ইনপুট Bএবং k

≔⁰ζ

z0 এ সেট করুন ।

W‹Lυη«

আমাদের kমান না হওয়া পর্যন্ত পুনরাবৃত্তি করুন ।

≦⊕ζ

বৃদ্ধি z

¿¬Φθ∧κ¬﹪ζ⊕κ

ডিভাইড zথেকে সব সংখ্যা দ্বারা 2করতে Bএবং দেখ যদি থাকে বাকি শূন্য।

⊞υζ»

তা না zহলে পূর্বনির্ধারিত খালি তালিকায় চাপ দিন।

Iυ

স্ট্রিংয়ে তালিকাটি কাস্ট করুন এবং সুস্পষ্টভাবে এটি আউটপুট করুন।


2

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

হিসাবে ইনপুট লাগে (b)(k)

b=>k=>(o=[],n=1,g=d=>(d<2?o.push(n)==k:n%d&&g(d-1))||g(b,n++))(b)&&o

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

মন্তব্য

b => k => (             // input = b and k
  o = [],               // o[] = output array
  n = 1,                // n = value to test
  g = d => (            // g = recursive function, taking the divisor d
    d < 2 ?             // if d = 1:
      o.push(n) == k    //   push n into o[] and test whether o[] contains k elements
    :                   // else:
      n % d && g(d - 1) //   if d is not a divisor of n, do a recursive call with d - 1
    ) ||                // if the final result of g() is falsy,
    g(b, n++)           // do a recursive call with d = b and n + 1
)(b)                    // initial call to g() with d = b
&& o                    // return o[]



1

এপিএল (এনএআরএস), 52 টি চর, 104 বাইট

r←a f w;i
r←,i←1⋄→3
i+←1⋄→3×⍳∨/a≥πi⋄r←r,i
→2×⍳w>↑⍴r

উপরে এটি 'r ← afw; i' এর পরে সারিগুলি মনে হয় 1 2 3; পরীক্ষার নাম রয়েছে:

  o←⎕fmt
  o 1 h 2
┌2───┐
│ 1 2│
└~───┘
  o 1 h 1
┌1─┐
│ 1│
└~─┘
  o 10 h 14
┌14───────────────────────────────────────┐
│ 1 11 13 17 19 23 29 31 37 41 43 47 53 59│
└~────────────────────────────────────────┘

1

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

∞ʒÒ¹›P}²£

এটি অনলাইনে চেষ্টা করুন বা সমস্ত পরীক্ষার কেস যাচাই করুন

ব্যাখ্যা:

          # Infinite list starting at 1: [1,...]
 ʒ    }    # Filter it by:
  Ò        #  Get all prime factors of the current number
   ¹›      #  Check for each if they are larger than the first input
     P     #  And check if it's truthy for all of them
       ²£  # Leave only the leading amount of items equal to the second input
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.