এন পর্যন্ত কপিরাইটস


51

একটি নম্বর দেওয়া n >= 2, সমস্ত ধনাত্মক পূর্ণসংখ্যার nযেখানে আউটপুট হবে তার চেয়ে কম gcd(n, k) == 1( kআউটপুট সংখ্যার যে কোনও একটির সাথে )। এই ধরণের সংখ্যা একে অপরের কাছে কপিরাইট হয়।

উদাহরণ: 10আউটপুট দেয় [1, 3, 7, 9](আপনার পছন্দ মতো যে কোনও আকারে, যতক্ষণ না সংখ্যাগুলি অস্পষ্টভাবে পৃথক করা হয় এবং কোনও ধরণের তালিকায়)। তালিকায় সদৃশ এন্ট্রি থাকতে পারে না এবং বাছাই করতে হবে না।

আরও পরীক্ষার কেস:

2 -> [1]
3 -> [1, 2]
6 -> [1, 5]
10 -> [1, 3, 7, 9]
20 -> [1, 3, 7, 9, 11, 13, 17, 19]
25 -> [1, 2, 3, 4, 6, 7, 8, 9, 11, 12, 13, 14, 16, 17, 18, 19, 21, 22, 23, 24]
30 -> [1, 7, 11, 13, 17, 19, 23, 29]

আমরা উপরের সংখ্যাগুলিও গণনা করছি না nযেগুলি কপিরাইটযুক্ত n, কেবলমাত্র কারণ আমি অসীম সমাধানের পক্ষে মোটামুটি নিশ্চিত।

আরও মনে রাখবেন: যে নম্বরগুলি একে অপরের কাছে কপিরাইট হয় সেগুলি একে অপরের তুলনামূলকভাবে প্রধান বা পারস্পরিক প্রধান বলেও মনে হয়।


পৃথক স্ট্রিংগুলি (যেমন 1\n3\n) বৈধ আউটপুট হিসাবে গণনা করে?
devRicher

@ দেবআরিচার যে কাজ করে, নিশ্চিত।
Rɪᴋᴇʀ

N এর উপরের কপিরাইটযুক্ত উপরের সংখ্যক সংখ্যাগুলির অবিশ্বাস্যতা আমার কাছে সঠিক বোধ করে। অসীম অনেকগুলি প্রাইম রয়েছে এবং নীচের প্রতিটি সংখ্যার সাথে একটি প্রাইম কপিরাইট হবে। সুতরাং, এন এর চেয়ে বড় প্রতিটি প্রাইম (যার মধ্যে অসীম অনেকগুলি রয়েছে) এছাড়াও কপিরাইট তালিকার অংশ।
ব্রায়ান জে

@ ব্রায়ানজে শুধু তাই নয় তাহলে এবং এন coprimes হয় সি + KN এবং এন এছাড়াও সব পূর্ণসংখ্যার জন্য coprimes,
ডেনিস

1
মজাদার ঘটনা: এগুলিকে ট্যাটিভেটিভ বলা হয়
ওয়াজওউ

উত্তর:


17

জেলি , 3 বাইট

gÐṂ

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

কিভাবে কাজ করে?

gÐṂ - (Monadic) সম্পূর্ণ প্রোগ্রাম।

g - সর্বশ্রেষ্ঠ সাধারণ বিভাজক।
 ÐṂ - ন্যূনতম লিঙ্ক মান সহ উপাদানগুলি রাখুন (যেমন জিসিডির সাথে == 1)
       নোট করুন যে এটি স্বয়ংক্রিয়ভাবে পরিসীমা তৈরি করে [1, ইনপুট] (অন্তর্ভুক্ত)।

বৈধতার প্রমাণ

যেহেতু আমরা শুধুমাত্র coprimes বের করে আনতে চাই, গরিষ্ঠ-সাধারণ-ভাজক তালিকার সর্বনিম্ন মান রয়েছে হতে 1 জন্য ÐṂকৌতুক কাজ করতে। আসুন প্রমাণ করুন যে (দুটি ভিন্ন পদ্ধতিতে):

  1. পরোক্ষভাবে উত্পন্ন পরিসীমা, রয়েছে এবং । সর্বশ্রেষ্ঠ সাধারণ বিভাজকটি সর্বদা একটি কঠোর ইতিবাচক পূর্ণসংখ্যার, সুতরাং এর গ্যারান্টিযুক্ত এবং সর্বদা সর্বনিম্ন মান হবে।[1,ইনপুট]1 1GCD(1,এক্স)=1এক্সজেড*1

  2. পরপর দুটি ধনাত্মক পূর্ণসংখ্যার সর্বদা কপিরাইট থাকে। সহ বিবেচনা করুন । তারপর আমরা অন্য ধনাত্মক পূর্ণসংখ্যা নিতে যেমন যে এবং । y = x + 1 k k x k yএক্স,Yজেড*Y=এক্স+ +1|এক্স|Y

    এটি ইঙ্গিত দেয় যে , তাই , এভাবে । শুধুমাত্র ধনাত্মক পূর্ণসংখ্যা বিভক্ত করতে হয় তাই এটি তালিকা প্রদর্শিত করতে নিশ্চিত করা হয় এবং সবসময় সর্বনিম্ন মান হতে হবে নিজেই।k ( x + 1 - x ) কে 1 1 1|(Y-এক্স)|(এক্স+ +1-এক্স)|111


2
আপনি 9 মাস পরে ডেনিসকে তার নিজের ভাষায় ছাড়িয়ে গেছেন!
অ্যাডাম

@ অ্যাডাম আমি নিশ্চিত নই যে ÐṂতখনকার অস্তিত্ব ছিল কিনা , যাইহোক আমি এইটির সাথে যথেষ্ট সন্তুষ্ট।
মিঃ এক্সকোডার

2
রেকর্ডটির জন্য, DṂউপস্থিত ছিল, তবে এটি কেবল মনাদের জন্য কাজ করেছিল। কমিট বাস্তবায়িত Þ, ÐṂ, ÐṀdyads জন্য 9 ই মে, 2017. তারিখের হয়
ডেনিস

@ ডেনিস আমি জানতাম যে আপনার কাছে 3-বাইট সংস্করণ না থাকার একটি ভাল কারণ থাকবে। আমরা আড্ডায় সে সম্পর্কেও ভাবছিলাম, তাই দরকারী তথ্যের জন্য ধন্যবাদ!
মিঃ এক্সকোডার

56

পাইথন 2 , 61 47 বাইট

lambda n:[k/n for k in range(n*n)if k/n*k%n==1]

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

পটভূমি

রিংটি বিবেচনা করুন । এই রিংটি সাধারণত রেসিডু ক্লাস মডুলো ব্যবহার করে সংজ্ঞায়িত করা হয় , এটি সেট হিসাবেও বিবেচনা করা যেতে পারে , যেখানে সংযোজন এবং গুণক অপারেটরগুলি দ্বারা সংজ্ঞায়িত করা হয়েছে এবং , যেখানে সাধারণ সংযোজনকে বোঝায়, পূর্ণসংখ্যার উপর গুণক এবং মডুলো অপারেটরগুলি।(জেডএন,+ +এন,এন)এনজেডএন={0,...,এন-1}একটি+ +এনB ইংরেজী বর্ণমালার দ্বিতীয় অক্ষর=(একটি+ +B ইংরেজী বর্ণমালার দ্বিতীয় অক্ষর)%এন+ ,একটিএনB ইংরেজী বর্ণমালার দ্বিতীয় অক্ষর=একটিB ইংরেজী বর্ণমালার দ্বিতীয় অক্ষর%এন+ +,, এবং %

এর দুটি উপাদান এবং এক হলে পারস্পরিক গুণক মডুলো বলা হয় । নোট করুন যে যখনই ।b Z n n a n b = 1একটিB ইংরেজী বর্ণমালার দ্বিতীয় অক্ষরজেডএনএন1একটিএনB ইংরেজী বর্ণমালার দ্বিতীয় অক্ষর=1%এনএন > 11%এন=1এন>1

ত্রুটিমুক্ত দিন একটি coprime হতে মধ্যে । যদি জন্য দুটি উপাদান এবং এর , আমরা আছে । এর থেকে বোঝা যায় যে , এবং আমরা সেই , অর্থাত্, ভাগ সমানভাবে। যেহেতু শেয়ারের সঙ্গে কোন মৌলিক ভাজক , এর মানে হল যে । অবশেষে, কারণএনএন>1একটিএন একটি এন এক্স = একটি এন ওয়াই এক্স Y জেড এন একটি এক্সজেডএনএকটিএনএক্স=একটিএনYএক্সYজেডএনa ( x - y )একটিএক্স%এন=একটিY%এনn a ( x - y ) n a ( x - y ) n a n x - y - n < xএকটি(এক্স-Y)%এন=একটিএক্স%এন-একটিY%এন=0এন|একটি(এক্স-Y)এনএকটি(এক্স-Y)এনএকটিএন|এক্স-Yx = y a n 0 , , a n (-এন<এক্স-Y<এন , আমরা শেষ করি যে । এটি দেখায় যে পণ্যগুলি সমস্ত বিভিন্ন উপাদান । যেহেতু এর ঠিক উপাদান রয়েছে, সেই পণ্যগুলির মধ্যে একটি (এবং ঠিক এক) অবশ্যই সমান হতে হবে , অর্থাত্, এ একটি unique মতো একটি অনন্য রয়েছে ।এক্স=Yজেড এন জেড এন এন 1 বি জেডএকটিএন0,...,একটিএন(এন-1)জেডএনজেডএনএন1 B ইংরেজী বর্ণমালার দ্বিতীয় অক্ষর a n b = 1জেডএনএকটিএনB ইংরেজী বর্ণমালার দ্বিতীয় অক্ষর=1

বিপরীতভাবে, ঠিক দিন একটি উপাদান হতে যে না করতে coprime । এই ক্ষেত্রে, একটি মৌলিক রয়েছে যা এবং । যদি ভর্তি যদি গুণিত বিপরীতমুখী মডুলো (আসুন আমরা এটিকে বলি ) স্বীকার করি তবে আমাদের কাছে এমন যার অর্থ এবং, সুতরাং, , সুতরাং । থেকে আমরা এটি অনুসরণ করিএন>1টু Z এন এন পি পি | একটি পি | এন একটি এন বি একটি এন= 1 একটি একটিজেডএনএনপিপি|একটিপি|এনএকটিএনB ইংরেজী বর্ণমালার দ্বিতীয় অক্ষরএকটিএনB ইংরেজী বর্ণমালার দ্বিতীয় অক্ষর=1( a b - 1 )একটিB ইংরেজী বর্ণমালার দ্বিতীয় অক্ষর%এন=1n a b - 1 p a p a b p n p a b - 1(ab1)%n=ab%n1=0nab1papab । অন্যদিকে, আমরা সেই । এইভাবে, , যা একটি মৌলিক সংখ্যার অনুমানের সাথে বিরোধী ।pnpab1pপি|(একটিB ইংরেজী বর্ণমালার দ্বিতীয় অক্ষর)-(একটিB ইংরেজী বর্ণমালার দ্বিতীয় অক্ষর-1)=1পি

এটি প্রমাণ করে যে এ নিম্নলিখিত বিবৃতিগুলি সমতুল্য ।এন>1

  • এনএকটি এবং কপিরাইম।এন

  • এনএকটি গুণিত বিপরীতমুখী মডুলো স্বীকার করে ।এন

  • এনএকটি স্বতন্ত্র গুণিত বিপরীতমুখী মডুলো স্বীকার করে ।এন

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

এ প্রতিটি জোড় এবং এর জন্য পূর্ণসংখ্যা অনন্য; আসলে, এবং ভাগফল এবং বাকি আছে দ্বারা বিভক্ত , অর্থাত্, প্রদত্ত , আমরা পুনরুদ্ধার করতে পারেন এবং , যেখানে উল্লেখ করে পূর্ণসংখ্যা বিভাজন। অবশেষে, যেহেতু এবং , হল এর উপাদান ; আসলে, ।বি জেড এন কে : = এন + বি বিএকটিB ইংরেজী বর্ণমালার দ্বিতীয় অক্ষরজেডএন: =একটিএন+ +B ইংরেজী বর্ণমালার দ্বিতীয় অক্ষরএকটিB ইংরেজী বর্ণমালার দ্বিতীয় অক্ষরএন কে = কে / এন বি = কেএনএকটি=/এন/ a n - 1 n - 1 কে জেড এন 2 কে ( এনB ইংরেজী বর্ণমালার দ্বিতীয় অক্ষর=%এন/একটিএন-1B ইংরেজী বর্ণমালার দ্বিতীয় অক্ষরএন-1জেডএন2(এন-1)এন+ +(এন-1)=এন2-1

উপরোক্ত আলোচনা লক্ষনীয়, যদি এবং coprime হয়, সেখানে একটি অনন্য হতে হবে যেমন যে , অর্থাত্, একটি অনন্য হতে হবে যেমন যে এবং , তাই উত্পন্ন তালিকা উপস্থিত থাকবে ঠিক একবার।এন বি a বিএকটিএনB ইংরেজী বর্ণমালার দ্বিতীয় অক্ষরএকটিB ইংরেজী বর্ণমালার দ্বিতীয় অক্ষর%এন=1/এন=একটি/এন%এন=(/এন)(%এন)%এন=1একটি

বিপরীতভাবে, যদি এবং হয় না coprime শর্তে সব মানের জন্য শত্রুর হাতে তুলে দেবে যেমন যে , তাই উত্পন্ন তালিকা হবে না ধারণ করে ।একটিএন/এন%এন=1একটি=/এনএকটি

এই প্রমাণ করে যে তালিকার কথা ল্যামডা আয় সমস্ত কিছু থাকবে 's coprimes ঠিক একবার।জেড এনএনজেডএন


26
"জিসিডি? আমরা কোথায় যাচ্ছি, আমাদের জিসিডি লাগবে না।"
Rɪᴋᴇʀ

1
ওহো। এটাই আমি লিখতে চেয়েছিলাম তবে স্পষ্টতই আমার 15 টি অক্ষর দরকার ছিল। তবুও, ওহ! দারূন কাজ.
এরিক লেগারগ্রেন

24

জেলি , 4 বাইট

gRỊT

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

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

gRỊT  Main link. Argument: n

 R    Range; yield [1, ..., n].
g     Compute the GCD of n and each k in [1, ..., n].
  Ị   Insignificant; return 1 for GCDs less or equal to 1.
   T  Truth; yield the indices of all truthy elements.

33
এই ভাষায় কোডিংয়ে কিছু সময় লাগেgRỊT
ETH প্রোডাকশনগুলি

1
আমি 3 টি বাইটÐṂ পেতে "ন্যূনতম লিঙ্ক মান" দ্রুত ( ) ব্যবহার করতে সক্ষম হয়েছি ।
মিঃ এক্সকোডার

14

গণিত, 25 বাইট

Range@#~GCD~#~Position~1&

সামান্য অদ্ভুত আউটপুট ফর্ম্যাট, যেখানে প্রতিটি ফলাফল পৃথক তালিকায় মোড়ানো থাকে, যেমন {{1}, {3}, {7}, {9}}। যদি তা ঠিক না থাকে তবে আমি 30 বাইটে দুটি সমাধান পেয়েছি:

Select[Range[x=#],#~GCD~x<2&]&
#&@@@Range@#~GCD~#~Position~1&

ম্যাথমেটিকার আসলে আছে CoprimeQতবে সে পথটি অনেক দীর্ঘ।


1
এর Qঅর্থ কী CoprimeQ?
কনর ও'ব্রায়েন

2
@ কনোরও ব্রায়েন "প্রশ্ন" আমার ধারণা। সমস্ত সিদ্ধান্ত সমস্যার অন্তর্নির্মিত কিউ শেষ হয় EvenQ, PrimeQবা SubsetQ
মার্টিন এন্ডার

10

2sable , 4 বাইট

কোড:

ƒN¿–

ব্যাখ্যা:

ƒ       # For N in the range [0, input]..
 N¿     #   Compute the GCD of N and the input
   –    #   If 1, print N with a newline

সিপি -1222 এনকোডিং ব্যবহার করে । এটি অনলাইন চেষ্টা করুন!


ডেনিসকে মারধর করা ভাল কাজ (প্রায়)। (যদিও কয়েক মিনিট দেরিতে)।
জাকারি

10

পাইথন, 93 82 74 বাইট

f=lambda a,b:f(b,a%b)if b else a<2
lambda c:[i for i in range(c)if f(i,c)]

fপুনরাবৃত্তভাবে কপিরাইটগুলির জন্য চেক করে, এবং দ্বিতীয় ল্যাম্বদা সেগুলি উত্পন্ন করে। একটি তালিকা আউটপুট।


7

আসলে , 8 বাইট

;╗R`╜┤`░

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

ব্যাখ্যা:

;╗R`╜┤`░
  R`  `░  elements of range(1, n+1) where
;╗  ╜     n and the element
     ┤    are coprime

1
আমি বিশ্বাস করি এটি range(1, n)যদি কোনও বাইট সংরক্ষণ করে তবে আপনি তা করতে পারেন।
ETH প্রোডাকশনগুলি

1
পছন্দ করুন দুটি বিকল্প হ'ল R( range(1, n+1)) এবং r( range(n))। যেহেতু তারা সমতুল্য, তাই আমি বেছে নিয়েছি R(যেহেতু কোডটি লেখার সময় আমি ঘটনাক্রমে ক্যাপস লকটি আঘাত করেছি)।
মেগো

হ্যাঁ, আমি এটাই বুঝতে পেরেছি। আমি বর্ধিতকরণের জন্য উত্সর্গীকৃত এমন কোনও নির্দেশিকা দেখিনি, তবে আমি ভেবেছিলাম যে কোনওভাবেই হতে পারে
ইটিএইচ প্রডাকশন



6

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

@ ব্যবহারকারী 81655 এর জন্য 3 বাইট সংরক্ষণ করা হয়েছে

n=>[...Array(n).keys()].filter(b=>(g=a=>b?g(b,b=a%b):a<2)(n))

পরীক্ষার স্নিপেট

f=n=>[...Array(n).keys()].filter(b=>(g=a=>b?g(b,b=a%b):a<2)(n))

for(var i = 2; i < 50; i++) console.log(i + ":", `[${ f(i) }]`);


আপনি কি a==সাথে অদলবদল করতে পারবেন না a<2?
Rɪᴋᴇʀ

@ ইস্টারলিআইর্ক নিশ্চিত নয়, aকোনও সময়ে 0 হতে পারে। আমাকে যাচাই করতে হবে
ইটিএইচ প্রোডাকশনগুলি

প্যারামিটার filterপাওয়ার প্রয়োজনীয়তা অপসারণ করতে আপনি জিসিডি ফাংশনটি সরিয়ে নিতে পারেন b:...keys()].filter(b=>(g=a=>b?g(b,b=a%b):a<2)(n))
user81655

@ user81655 এটি দুর্দান্ত, ধন্যবাদ! :-)
ইটিএইচ প্রোডাকশনগুলি

6

জেলিফিশ , 19 18 বাইট

p
[#
`B
&~xr1
NnEi

এটি পরিসরের প্রতিটি সংখ্যার প্রাইম ফ্যাক্টরাইজেশন গণনা করে এবং এটি ইনপুটটিকে ছেদ করে কিনা তা পরীক্ষা করে কাজ করে (জেলিফিশে এখনও কোনও জিসিডি বিল্টিন নেই)। গল্ফিংয়ের কারণে, আউটপুটটি ক্রমবর্ধমান ক্রমে। এটি অনলাইন চেষ্টা করুন!

ব্যাখ্যা

প্রথম বন্ধ, iইনপুট মূল্যায়ন করা হয়; ইনপুট জন্য 10, i-सेल মান হয় 10

r1
i

এখানে r(পরিসীমা) ইনপুটটিতে প্রয়োগ করা হয় এবং ১। ইনপুটটি 1 এর চেয়ে বেশি হওয়ায়, পরিসরটি অবতরণ ক্রমে থাকে; ইনপুট জন্য 10, এটি দেয় [9 8 7 6 5 4 3 2 1]

[#
`B
&~x
Nn

এই অংশটি একটি বড় ফাংশন, যা iউপরোক্ত পরিসীমা ও উপরের মূল্যায়ন করা হয় ।

~x
n

অন্তর্ছেদ ( nমৌলিক উত্পাদক এর) ( x)।

&~x
Nn

এটা খালি? ( N)

`
&~x
Nn

স্তরের 0 স্তরে থ্রেড, ব্যাপ্তির প্রতিটি উপাদানের জন্য পরীক্ষা করা।

[#
`B
&~x
Nn

#বুলিয়ানগুলির এই তালিকার সাথে পরিসীমা ফিল্টার করুন ( )। উত্পাদিত ফাংশনটি [আর্গুমেন্টটিকে #তার নিজস্ব আর্গুমেন্ট হিসাবে ব্যবহার করতে চায় , তাই আমরা কোনও যুক্তি পেতে Bবাধা দিতে চাই #। অন্যথায়, ~-सेलটির মানটি বড় ফাংশনের যুক্তি হিসাবে ব্যবহৃত হবে। পরিশেষে, pফলাফল মুদ্রণ।


5

সজ্জিত, নন-কেপটিং, 24 21 বাইট

বোরসুনহোর রুবীর দ্বারা অনুপ্রাণিত 3 বাইট সংরক্ষণ করা হয়েছে । ( 1 eqথেকে 2<)

{!n:>1+:n gcd 2<keep}

এখানে চেষ্টা করুন!

এটি একটি এন-ল্যাম্বদা যা একক যুক্তি নেয় এবং অ্যারে দেয়।

{!n:>1+:n gcd 2<keep}
{!                  }  n-lambda
  n                    push n
   :>                  range [0, n)
     1+                range [1, n]
       :               duplicate
        n gcd          element-wise gcd with n
              2<       element-wise equality with 1
                       this yields the range [1, n] and a boolean mask of coprime numbers
                keep   then, we simply apply the mask to the range and keep coprimes.

কেন এই নন-কেপেটিং?
জাকারি

@ জাচারিটি মূলত, keepভালভাবে কাজ করছিল না।
কনর ও'ব্রায়েন

5

সিজেম , 14 বাইট

{:X{Xmff%:*},}

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

ব্যাখ্যা

আমাদের সম্ভাব্য সমস্ত বিভাজনকারীদের পরীক্ষা করার aএবং bতারা কপিরাইম কিনা তা পরীক্ষা করার দরকার নেই। এটি কোন প্রধান কারণ bবিভাজক তা দেখার জন্য যথেষ্ট a

:X     e# Store the input in X.
{      e# Filter the list [0 1 ... X-1] by the results of this block...
  Xmf  e#   Get the prime factors of X.
  f%   e#   Take the current value modulo each of those prime factors.
  :*   e#   Multiply the results. Iff any of them divide the current
       e#   value, there's a 0 in the list, and the result of the product
       e#   is also 0, dropping the value from the resulting list.
},

5

গণিত, 26 বাইট

Pick[r=Range@#,r~GCD~#,1]&

1
ওহহ, আমি পিকের মতো কিছু খুঁজছিলাম। আমি এখন অনুমান করি যদিও আমি এটি খুজে পাইনি। ;) তবে ভবিষ্যতের চ্যালেঞ্জগুলির জন্য এটি খুব কার্যকর হওয়া উচিত।
মার্টিন ইন্ডার


4

ব্র্যাচল্যাগ , 16 13 বাইট

>.$p'(e:A*?),

এটি একটি ফাংশন লাগে যে এন ইনপুট হিসাবে, এবং উত্পন্ন এটি সব পূর্ণসংখ্যার কম এবং coprime।

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

ব্যাখ্যা:

একটি ব্র্যাচল্যাগ প্রোগ্রাম হ'ল বাধার একটি শৃঙ্খল; সাধারণত, একটি বাধার এলএইচএস হ'ল পরের আরএইচএস।

>.$p'(e:A*?),
>              The input is greater than
 .             the output, whose
  $p           prime factorisation does
    '(     )   not obey the following constraint:
      e        it has an element which
       :A*     can be multiplied by something to
          ?    produce the input.
            ,  (This comma turns off an unwanted implicit constraint.)

কোন কারন কিনা দেখতে সাধারণ ফ্যাক্টর (যা ইতিমধ্যে পরিচিত আউটপুট একটি প্রধান কারণ হিসেবে) পরীক্ষা করার জন্য একটি হয় বুঝতে দ্বারা তিনটি অক্ষর নিচে Golfed প্রধানমন্ত্রী ইনপুটের ফ্যাক্টর। আমরা ইতিমধ্যে এটি প্রাথমিক জানি, তাই আমরা এটির কোনও ফ্যাক্টর কিনা তা খতিয়ে দেখতে পারি। আমি pleasantly এখানে আশ্চর্য হয়ে আছি :A*?একটি অসীম লুপ মধ্যে ব্যাখ্যাকারী না পাঠায় এবং একটি অ পূর্ণসংখ্যা মান অনুমতি দেয় না একজন , কিন্তু ব্যাখ্যাকারী আমি কি চাই না, আমি এটা নেব।


4

ডায়ালগ এপিএল, 10 বাইট

0~⍨⍳×1=⊢∨⍳

ব্যাখ্যা (ইনপুট n):

0~⍨⍳×1=⊢∨⍳
         ⍳ - 1 ... n (Thus, ⎕IO is 1)
       ⊢∨  - Each GCD'd by n
     1=    - Test equality with 1 on each element
   ⍳×      - multiplied by its index
0~⍨        - without 0.

3
আপনি যখন এপিএল কোডটি পড়েন তখন আপনি যে মুখটি তৈরি করেন তা দেখতে আমি পছন্দ করি।
ডিজেএমসিএমহেম

হ্যাঁ, এবং এটি প্রায় প্রতিটি কোড-গল্ফ-ভিত্তিক ভাষা ধ্বংস করে দেয়। :)।
জাকারি

কেন কেবল "সম্ভবত" কাজ?
Rɪᴋᴇʀ

আমি ঠিক ধরে নিচ্ছি এটি কাজ করে।
জাকারি

@ জাচারি আপনি কেন এটি পরীক্ষা করতে পারবেন না? আমি যখন এটিকে চেষ্টা -অ্যাপলআর.আর.জে পেস্ট করি তখন এটি অবৈধ টোকেন সহ ত্রুটিযুক্ত হয়।
Rɪᴋᴇʀ

4

জাপট -f , 9 8 5 2 বাইট

jN

চেষ্টা করে দেখুন

  • ETH একটি ব্রেইনফার্ট নির্দেশ করে 2 বাইট সংরক্ষণ করা হয়েছে , যার ফলে অন্য একটি বাইট সংরক্ষণ করা হয়েছিল।

আপনি করতে পারেনo f_jU
ইটিএইচ প্রোডাকশনগুলি

ধন্যবাদ, @ ইথ প্রডাকশনস। জানি না আমি এখানে কী ভাবছিলাম! আমি অবশ্যই ভুলে যাওয়া সেই (বহু) মুহুর্তগুলির মধ্যে একটি ছিলাম যখন j2 নম্বর সহ-প্রধান হয় কিনা তা পরীক্ষা করতেও ব্যবহার করা যেতে পারে।
শেগি

3

গণিত, 33 বাইট

xSelect[Range@x,x~CoprimeQ~#&]

ইউ + এফ 4 এ 1 রয়েছে


ছাপিয়ে কী করা যায়?
Rɪᴋᴇʀ

3
@ ইস্টারলিআইর্ক একটি নামযুক্ত যুক্তি সহ একটি নামহীন ফাংশনটি প্রবর্তন করে। এটি মমায় একটি তীর হিসাবে রেন্ডার হয়েছে।
মার্টিন এন্ডার

@ মার্টিনএন্ডার ওহ, দুর্দান্ত
'15

U + F4A1 একটি ব্যক্তিগত ব্যবহারের অক্ষর। মার্টিন যেমন বলেছিলেন, এটি গাণিতিকের একটি তীর হিসাবে রেন্ডার হয়েছে।
জাকারিয়া



3

মেমস , 11 বাইট প্রতিযোগী নয় , পুরানো

STDIN এর পুনরাবৃত্তি হিসাবে প্রতিদ্বন্দ্বিতা নতুন। ইউটিএফ -8 এনকোডিং ব্যবহার করে।

d`}}]i=1?ip

ব্যাখ্যা:

d     Set program to not output result
`}    Loop next input-times
}]i   GCD of input and loop index
=1?   Is it equal to 1? If yes,
ip    Print out loop index

}পরবর্তী ইনপুট আইটেমটি অ্যাক্সেস করে, তবে শেষ ইনপুটটি দেওয়া হয়ে গেলে লুপ হয়, সুতরাং ইনপুটিংটি এসটিডিআইএন-এর 6ফলাফল হিসাবে 6 6 6 6 6 ...দেখা দেয়, যার ফলে দুটি থেকে আউটপুটগুলি পড়া সম্ভব হয়।


আপনি কি আজ এই ল্যাং তৈরি করেছেন? যদি এটি চ্যালেঞ্জের আগে তৈরি করা হয় তবে এটি প্রতিদ্বন্দ্বী হতে হবে।
Rɪᴋᴇʀ

@ ইস্টারলিআইর্ক এটি 3 দিন আগে তৈরি করা হয়েছিল, আমি কেবল এটিতে নিয়মিত কাজ করে যাচ্ছি। এছাড়াও, আমি অনুমান আপনি কি এটি বলতে পর ?
devRicher

হ্যাঁ, টাইপো ধন্যবাদ এবং এটি ঠিক আছে, যতক্ষণ উত্তরে বৈশিষ্ট্যগুলি ব্যবহৃত হয় এবং চ্যালেঞ্জের চেয়ে পুরানো।
Rɪᴋᴇʀ

@ ইস্টারলিআইর্ক আমি দেখছি, সেক্ষেত্রে আমাকে আমার উত্তরটি সম্পাদন করতে হবে।
devRicher

হ্যাঁ, দুঃখিত। : /
আর


2

রুবি, 36 34

->n{n.times{|i|p i if i.gcd(n)<2}}

স্বীকার করা, এটি খুব অনুপ্রাণিত উত্তর।

কনর ও'ব্রায়েনকে 2 বাইট সংরক্ষণ করা হয়েছে thanks


চারপাশের বন্ধনীগুলি সরিয়ে আপনি দুটি বাইট মুণ্ডন করতে পারেন(n)
কনর ও'ব্রায়েন

2

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

এর জন্য নতুন ল্যাম্বদা লেখার পরিবর্তে জিসিডি আমদানি করে। গল্ফিং পরামর্শ স্বাগত জানাই। এটি অনলাইন চেষ্টা করুন!

import math
lambda c:[i for i in range(c)if math.gcd(c,i)<2]

আমি মনে করি না আপনি আরও গল্ফ করতে পারেন । সরাসরি জিসিডি আমদানি করা বা গণিত হিসাবে এম উভয়ই বাইট যোগ করুন add
আর

2

জুলিয়া, 30 বাইট

n->filter(x->(gcd(n,x)<2),1:n)

বেনামে ফাংশন। filterকোনও ফাংশন অনুসারে সত্য নয় এমন তালিকা থেকে উপাদানগুলি সরিয়ে দেয়।

এই ক্ষেত্রে, ফাংশনটি হ'ল x->(gcd(n,x)<2)(যদি ইনপুট এবং তালিকার উপাদানটির জিসিডি 2 এর চেয়ে কম হয়)। তালিকাটি ব্যাপ্তি 1:n


2

প্যারি / জিপি , 27 বাইট

n->[k|k<-[1..n],gcd(k,n)<2]

এটি সংস্করণ 2.6.0 (2013) এ প্রবর্তিত সেট-নোটেশনটি ব্যবহার করে। পূর্ববর্তী সংস্করণগুলিতে আরও চারটি বাইটের দরকার ছিল:

n->select(k->gcd(k,n)<2,[1..n])

প্রয়োজন হবে।


কিভাবে কাজ করে?
18

1
@ ইস্টারলিআইর্ক এই সাবমিশনের বেশিরভাগের মতোই - 1 থেকে এন ( [1..n]) পর্যন্ত একটি পরিসর তৈরি করুন , জিসিডি 1 ( gcd(n,k)<2) হয় কিনা তা পরীক্ষা করুন , এই সম্পত্তি সহ নম্বরগুলি ফিরিয়ে দিন। ->ফাংশন / অবসান স্বরলিপি, স্বাভাবিক ফাংশন সিনট্যাক্স চেয়ে 2 বাইট খাটো এবং [...|...<-...,...]সেট স্বরলিপি উত্তর (ব্যবহারকারী এর ম্যানুয়াল অধ্যায় 2.3.14 দেখতে পাবেন অথবা অনুসন্ধান ব্যাখ্যা করা হয় <-)।
চার্লস



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