অদলবদলকারীদের পরীক্ষা করতে অদলবদল প্রোগ্রাম অর্ধেক


19

চারটি পূর্ণসংখ্যার ক্রম

এই চ্যালেঞ্জে, আপনি নিম্নলিখিত অনুক্রম দ্বারা প্রদত্ত একটি ধনাত্মক পূর্ণসংখ্যার চারটি আলাদা বৈশিষ্ট্য পরীক্ষা করবেন। একটি ধনাত্মক পূর্ণসংখ্যা এন হয়

  1. নিখুঁত ( OEIS A000396 ), যদি যথাযথ ভাজক এর সমষ্টি এন সমান এন । অনুক্রমটি 6, 28, 496, 8128, 33550336, 8589869056, 137438691328, 2305843008139952128 দিয়ে শুরু হবে ...
  2. refactorable ( OEIS A033950 ), যদি এর ভাজক সংখ্যা এন একটি ভাজক হয় এন । ক্রমটি 1, 2, 8, 9, 12, 18, 24, 36, 40, 56, 60, 72, 80, 84, 88, 96, 104, 108, 128 দিয়ে শুরু হয় ...
  3. ব্যবহারিক ( OEIS A005153 ), যদি প্রত্যেক পূর্ণসংখ্যা 1 ≤ কে ≤ এন কিছু স্বতন্ত্র ভাজক একটি সমষ্টি এন । ক্রমটি 1, 2, 4, 6, 8, 12, 16, 18, 20, 24, 28, 30, 32, 36, 40, 42, 48, 54, 56 দিয়ে শুরু হয় ...
  4. অত্যন্ত যৌগিক ( OEIS A002128 ), যদি প্রত্যেক সংখ্যা 1 ≤ কে <n থেকে যথাযথভাবে তার চেয়ে কম ভাজক আছে এন । ক্রমটি 1, 2, 4, 6, 12, 24, 36, 48, 60, 120, 180, 240, 360, 720, 840, 1260, 1680, 2520, 5040 দিয়ে শুরু হয় ...

চারটি প্রোগ্রাম

আপনার কাজটি হ'ল চারটি প্রোগ্রাম লিখুন (মানে সম্পূর্ণ প্রোগ্রামগুলি, ফাংশন সংজ্ঞা বা বেনামে ফাংশন যা কোনও মানক পদ্ধতি দ্বারা I / O সঞ্চালন করে )। প্রতিটি প্রোগ্রাম এই অনুক্রমের মধ্যে একটি এর সদস্যপদ সমস্যা সমাধান করবে। অন্য কথায়, প্রতিটি প্রোগ্রাম ইনপুট হিসাবে ধনাত্মক পূর্ণসংখ্যক N ≥ 1 নেবে এবং এন ক্রমানুসারে যদি সত্যবাদী মান এবং যদি না হয় তবে একটি মিথ্যা মান গ্রহণ করে। আপনি ধরে নিতে পারেন যে এন আপনার প্রোগ্রামিং ভাষার স্ট্যান্ডার্ড পূর্ণসংখ্যার প্রান্তের মধ্যে রয়েছে।

প্রোগ্রামগুলি অবশ্যই নিম্নলিখিত উপায়ে সম্পর্কিত হতে হবে। চারটি স্ট্রিং হয় ABCDযেমন যে

  1. AC নিখুঁত সংখ্যা স্বীকৃতি দেয় এমন প্রোগ্রাম is
  2. AD অপসারণযোগ্য সংখ্যাগুলি স্বীকৃত এমন প্রোগ্রাম।
  3. BC বাস্তব প্রোগ্রামটি স্বীকৃত এমন প্রোগ্রাম is
  4. BD এমন একটি প্রোগ্রাম যা অত্যন্ত সংমিশ্রিত সংখ্যাগুলি স্বীকৃতি দেয়।

স্কোরিং

আপনার স্কোরটি স্ট্রিংয়ের মোট দৈর্ঘ্য (বাইটে) ABCDবা অন্য কথায়, দুটি প্রোগ্রাম দ্বারা বিভক্ত চারটি প্রোগ্রামের মোট বাইট গণনা। প্রতিটি প্রোগ্রামিং ভাষার সর্বনিম্ন স্কোর বিজয়ী। স্ট্যান্ডার্ড বিধি প্রযোজ্য।

উদাহরণ হিসেবে বলা যায়, চার স্ট্রিং যদি a{, b{n, +n}এবং =n}?, তারপর চার প্রোগ্রাম আছে a{+n}, a{=n}?, b{n+n}এবং b{n=n}?, এবং স্কোর 2 + 3 + 3 + 4 = 12 হয়।


উত্তর:


6

জাভাস্ক্রিপ্ট (ES6), 46 + 55 + 6 + 36 = 282 274 ... 158 143 বাইট

উত্তর:

n=>(r=0,D=x=>x&&D(x-1,n%x||(r++?q-=x:q=n)))(n)

খ:

n=>(q=(g=D=x=>x&&!(n%x||(g|=m>2*(m=x),0))+D(x-1))(m=n))

সি:

?!g:!q

ডি:

?(P=k=>--k?D(n=k)<q&P(k):1)(n):n%r<1

ফলাফলের 4 বেনামী ফাংশন যা দিতে truthy / নিজ নিজ ইনপুট জন্য falsy মান ( AC, AD, এবং BCদিতে true/ false,BD দেয় 1/ 0)।

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


1
আমি পছন্দ করি আপনি কীভাবে সমস্ত চারটি অংশে প্রকৃত কোডটি ছড়িয়ে দিয়েছেন এবং আমার বিপরীতে এটি "শর্তাবলীর" সাথে মিশ্রিত করেছেন (আমার অংশ A এবং B এর কোড রয়েছে এবং অংশ সি এবং ডি তে "শর্তসাপেক্ষ" রয়েছে)
এরিক আউটগলফার

2

জেলি , 8 + 17 + 2 1 + 2 = 29 28 বাইট

উত্তর:

Æṣ⁼$Ædḍ$

খ:

ÆDŒPS€QṢwRµṖÆdṀ<Ʋ

সি:

ƭ

ডি:

0?

ব্যবহারিক সংখ্যার জন্য (বিসি), 0 মিথ্যা এবং অন্য কোনও ফলাফল সত্য।

এসি এবং বিসি সম্পূর্ণ প্রোগ্রাম, যেহেতু এগুলি ফাংশন হিসাবে পুনরায় ব্যবহারযোগ্য নয়।


বিসি এবং বিডি সঠিকভাবে কাজ করছে বলে মনে হয় না।
জোনাথন অ্যালান

ÆDŒPS€ḟ@RṆµṖÆd<ÆdẠµদুটি বাইটের ব্যয়ে খ হিসাবে বি হিসাবে কাজ করে (এবং বিসিটি কেবল অন্যদের মতো 0 এবং 1 প্রদান করে)।
জোনাথন অ্যালান

@ জোনাথন অ্যালান ওহ না, মনে হচ্ছে আমি বিভ্রান্ত ŒPহয়ে পড়েছি ŒṖ। কি লজ্জা! আপনি যদি এটি ঠিক করেন তবে এটি কাজ করে? (অর্থাত্ আমার নতুন সম্পাদনার চেষ্টা করুন) এটি যে কোনওভাবেই পরীক্ষা করা খুব সহজ নয়, এজন্য আমি এখনও টিআইও লিঙ্কটি অন্তর্ভুক্ত করি নি।
এরিক আউটগল্ফার

0

হাস্কেল , 69 + 133 + 3 + 3 = স্কোর 208

উত্তর:

d n=filter((<1).mod n)[1..n]
f n=[sum(d n)-n==n,length(d n)`elem`d n]

খ:

import Data.List
d n=filter((<1).mod n)[1..n]
f n=[all(\n->any(==n)$sum$subsequences$d n)[1..n],all((<length(d n)).length.d)[1..n-1]]

সি:

!!0

ডি:

!!1

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

হ্যাঁ, এটি বেশ সস্তা তবে আমি শীতল সমাধানের জন্য যথেষ্ট স্মার্ট নই। : P: P


1
হাস্কেল সম্পর্কে আমি বেশি কিছু জানি না তবে এটি আপনাকে সহায়তা করতে পারেsubsequences
Asone Tuhid

[x|x<-[1..n],mod n x<1]তুলনায় খাটো filter((<1).mod n)[1..n]
লাইকোনি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.