সিম্পল টাস্ক সলভ করে তিনবার


15

আপনার এক ভাষাতে 3 টি প্রোগ্রাম এবং / অথবা ফাংশন লেখা উচিত।

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

কাজটি

  • আপনি একটি পূর্ণসংখ্যা দেওয়া হয় n , 1 এর চেয়ে বড়
  • আপনার ফিরে আসা বা n পৃথক ইতিবাচক পূর্ণসংখ্যার আউটপুট করা উচিত এবং এগুলির কোনওটির দ্বারা বিভাজ্য হওয়া উচিত নয়n
  • সংখ্যার ক্রম কোনও বিবেচনা করে না এবং সংখ্যার ক্রমবিন্যাস বিভিন্ন আউটপুট হিসাবে গণনা করে না।

কিছু জোড় সহ প্রোগ্রামগুলির একটি বৈধ ট্রিপলেট input => output:

program A:
    2 => 5 9
    4 => 5 6 9 10
    5 => 2 4 8 7 1

program B:
    2 => 1 11
    4 => 6 9 1 2
    5 => 4 44 444 4444 44444

program C (differs only in one number from program B):
    2 => 1 13
    4 => 6 9 1 2
    5 => 4 44 444 4444 44444

স্কোরিং

  • আপনার স্কোর 3 টি প্রোগ্রাম বা ফাংশনের দৈর্ঘ্যের সমষ্টি।
  • লোয়ার স্কোরই ভাল।
  • যদি আপনার প্রোগ্রামগুলি / ফাংশনগুলি ভাগ করে দেয় কোডটি, ভাগ করা কোডটি কোডটি ব্যবহার করে এমন প্রতিটি প্রোগ্রামের দৈর্ঘ্যে গণনা করা উচিত।

1
প্রতিটি প্রোগ্রামকে নিজের ফাইল থেকে চালানো সম্ভব হবে না কোনও প্রোগ্রাম ছাড়াই, বা প্রোগ্রামগুলি কিছু ভাগ করা মডিউল / লাইব্রেরির উপর নির্ভর করতে পারে যা কেবল একবার গণনা করা হয়?
কুইন্টোপিয়া

@ কুইন্টোপিয়া প্রোগ্রাম / ফাংশনগুলিতে কোড ভাগ করা উচিত নয়। যদি তারা তা করে, ভাগ করা কোডটি কোডটি ব্যবহার করে এমন সমস্ত প্রোগ্রামের দৈর্ঘ্যে গণনা করা উচিত।
এলোমেলো

উত্তর:


4

পাইথ, 17 16 বাইট

5 বাইট:

^LhQQ

আউটপুট:

2: [1, 3]
3: [1, 4, 16]
4: [1, 5, 25, 125]

6 বাইট:

mh*QdQ

আউটপুট:

2: [1, 3]
3: [1, 4, 7]
4: [1, 5, 9, 13]

5 বাইট:

|RhQQ

আউটপুট:

2: [3, 1]
3: [4, 1, 2]
4: [5, 1, 2, 3]

ক্রমবর্ধমান ক্রমে বিকল্প সংস্করণ: -ShQQ


1
বিস্ময়। আমি তৃতীয় স্কিমটি পছন্দ করি।
কুইন্টোপিয়া

@ আইস্যাকগ ওহ, দুঃখিত
মালটিসেন

8

জে, 16 বাইট

ফাংশন 1, 5 বাইট

p:^i.

ফাংশন 2, 6 বাইট

+p:^i.

ফাংশন 3, 5 বাইট

>:^i.

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

ফাংশন ঘ

p:^i.     Right argument: y

   i.     Compute (0 ... y-1).
p:        Compute P, the prime at index y (zero-indexed).
  ^       Return all powers P^e, where e belongs to (0 ... y-1).

যেহেতু পি প্রধানমন্ত্রী এবং p> Y , Y বিভক্ত করা যাবে না পি

কার্য 2

+p:^i.    Right argument: y

 p:^i.    As before.
+         Add y to all results.

তাহলে Y বিভক্ত পি + Y , এটি ডিভাইড would পি Y = পি - + Y

কার্য 3

>:^i.     Right argument: y

   i.     Compute (0 ... y-1).
>:        Compute y+1.
  ^       Return all powers (y+1)^e, where e belongs to (0 ... y-1).

তাহলে Y বিভক্ত (Y + 1 টি) কিছু মৌলিক উত্পাদক প্রশ্ন এর Y ডিভাইড করতে হবে (Y + 1 টি)

তবে তারপরে, প্রশ্নটি y এবং y + 1 এবং তাই y + 1 - y = 1 উভয়কে ভাগ করে দেবে ।



2

ভিটসি , 54 বাইট

প্রোগ্রাম:

ভি 1 ভি \ [ডিভি * 1 + এন '' ও 1 +]
ভি 2 ভি \ [ডিভি * 1 + এন '' ও 1 +]
ভি 3 ভি \ [ডিভি * 1 + এন '' ও 1 +]

আউটপুট:

2 => 3 7
4 => 5 9 13 17
5 => 6 11 16 21 26
2 => 5 7
4 => 9 13 17 21
5 => 11 16 21 26 31
2 => 7 9
4 => 13 17 21 25 
5 => 16 21 26 31 36

এটি কীভাবে কাজ করে (ব্যাখ্যা হিসাবে প্রথম প্রোগ্রামটি ব্যবহার করে):

ভি 1 ভি \ [ডিভি * 1 + এন '' ও 1 +]
ভি অন্তর্ভুক্ত ইনপুটটিকে চূড়ান্ত বৈশ্বিক চলক হিসাবে ক্যাপচার করুন।
 1 পরের ব্যবহারের জন্য স্ট্যাকের দিকে একজনকে চাপুন।
  ভি \ [] বন্ধনী ইনপুট সময়গুলিতে সবকিছু করুন।
     ডি স্ট্যাকের শীর্ষ আইটেমটি সদৃশ করুন।
      ভি স্ট্যাকের জন্য বিশ্বব্যাপী পরিবর্তনশীল পুশ করুন।
       * 1 + গুণিত করুন, তারপরে যোগ করুন 1. এটি এটিকে বিভাজনযোগ্য করে তোলে।
          এন '' হে আউটপুট পরে একটি স্পেস অনুসরণ করে।
               1+ স্ট্যাকের বাম সংখ্যাটিতে একটি যুক্ত করুন।

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


2

পার্ল, 79

প্রতিটি প্রোগ্রামে একটি করে চর যুক্ত করা হয়েছে কারণ এর জন্য -nপতাকা প্রয়োজন requires

for$a(0..$_-1){say$_*$a+1}
for$a(1..$_){say$_*$a+1}
for$a(2..$_+1){say$_*$a+1}

মোটামুটি সহজবোধ্য.


2

গণিত, 12 + 12 + 12 = 36 বাইট

# Range@#-1&
# Range@#+1&
#^Range@#+1&

পরীক্ষা:

# Range@#-1&[10]
(* -> {9, 19, 29, 39, 49, 59, 69, 79, 89, 99} *)
# Range@#+1&[10]
(* -> {11, 21, 31, 41, 51, 61, 71, 81, 91, 101} *)
#^Range@#+1&[10]
(* -> {11, 101, 1001, 10001, 100001, 1000001, 10000001, 100000001, 1000000001, 10000000001} *)

আপনি কিছু উদাহরণ আউটপুট যোগ করতে পারেন?
পাওলো ইবারম্যান

2

সিজেএম, 8 + 8 + 8 = 24 বাইট

{,:)))+}
{_,f*:)}
{)_(,f#}

এটি তিনটি নামবিহীন ফাংশন যা nস্ট্যাকের মধ্যে থাকবে এবং তার জায়গায় পূর্ণসংখ্যার একটি তালিকা রেখে যাবে expect আমি নিশ্চিত যে এটি সর্বোত্তম, তবে আমাকে পরে একটি সংক্ষিপ্ত সমাধানের জন্য শিকার করতে হবে।

পরীক্ষা স্যুট.

ফলাফল:

{,:)))+}
2 => [1 3]
3 => [1 2 4]
4 => [1 2 3 5]
5 => [1 2 3 4 6]

{_,f*:)}
2 => [1 3]
3 => [1 4 7]
4 => [1 5 9 13]
5 => [1 6 11 16 21]

{)_(,f#}
2 => [1 3]
3 => [1 4 16]
4 => [1 5 25 125]
5 => [1 6 36 216 1296]

প্রথম এক হিসাবে কাজ করে

{_),:)^}

অথবা

{_(,+:)}

আপনার ফলাফলগুলি তিনটি একই আউটপুট প্রদান দেখায় যখন n = 2
স্পার

@ স্পার এটি অনুমোদিত। চ্যালেঞ্জের উদাহরণগুলি দেখুন। কেবলমাত্র প্রয়োজনীয়তা হ'ল তারা প্রতিটি ফর্মের জন্য আলাদা ফল নয়, বিভিন্ন ফাংশন গণনা করে।
মার্টিন ইন্ডার

আহা, তারা ভিন্ন ফলাফল আছে কিছু ইনপুট। এটাই আমি ভুল।
স্পার

2

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

lambda n:range(1,n*n,n)
lambda n:range(1,2*n*n,2*n)
lambda n:range(1,3*n*n,3*n)

তিনটি বেনাম ফাংশন যা শর্তগুলির জন্য 1প্রতিটি দ্বারা শুরু হয় এবং গণনা করা হয় ।n, 2*n, 3*nn


1

গুরুতরভাবে, 20 বাইট

,;r*1+

,;R*1+

,;R1+*1+

হ্যাঁ, এটি অনুকূল নয় ...


1

পার , 16 বাইট

এখানে বর্ণিত কাস্টম এনকোডিং প্রতিটি চরিত্রের জন্য কেবল একটি বাইট ব্যবহার করে।

✶″{*↑                   ## 3 => (0 1 2) => (0 3 6)  => (1 4 7)
✶″U{ⁿ↑                  ## 3 => (1 2 3) => (3 9 27) => (4 10 28)
✶U¡↑◄                   ## 3 => (1 2 3) =>             (1 2 4)

আউটপুট

2 => (1 3)
3 => (1 4 7)
4 => (1 5 9 13)
5 => (1 6 11 16 21)

2 => (3 5)
3 => (4 10 28)
4 => (5 17 65 257)
5 => (6 26 126 626 3126)

2 => (1 3)
3 => (1 2 4)
4 => (1 2 3 5)
5 => (1 2 3 4 6)

1

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

f n=n+1:[1..n-1]
g n=5*n+1:[1..n-1]
h n=9*n+1:[1..n-1]

এই তিনটি ফাংশন বেশ সোজা তাই…



1

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

N=input();print[i*N+1for i in range(N)]
N=input();print[i*N+1for i in range(1,N+1)]
N=input();print[i*N+1for i in range(2,N+2)]

এখানে প্রতিটি লাইন একটি সম্পূর্ণ প্রোগ্রাম। আমার মনের সবচেয়ে সুস্পষ্ট সমাধান।

সম্পাদনা @ শেরলক 9 দুটি বাইট সংরক্ষণ করেছে।



0

গল্ফস্ক্রিপ্ট, 50 51 57 বাইট

কি ব্যবহার করা হয় একটি Golfscript সংস্করণ quintopia এর পাইথন কোড। প্রতিটি ফাংশন nস্ট্যাকটি বন্ধ করে দেয়।

{.,{1$*)}%\;}:f;    i*n+1 for i in range(n)
{.,{)1$*)}%\;}:g;   i*n+1 for i in range(1,n+1)
{.,{1$)\?}%\;}:h;   (n+1)**i for i in range(n)

0

টিআই-বেসিক (টিআই -৪৮ প্লাস সিই), মোট 55 40 বাইট

PRGM:C 12 bytes
    seq(AnsX+1,X,1,Ans
PRGM:B 14 bytes
    seq(AnsX+1,X,2,Ans+1
PRGM:C 14 bytes
    seq(AnsX+1,X,3,Ans+2

এখানে সরল, অন্যান্য অনেক উত্তরের অনুরূপ, প্রতিটি এক্স রেঞ্জ (এন) এর জন্য সংখ্যার (এক্স + এ) এন + 1 এবং কোনটি প্রোগ্রাম (1, 2, বা 3) এর সাথে রয়েছে তার তালিকা প্রদর্শন করে।

পুরানো সমাধান (55 বাইট):

PRGM:C 17 bytes
    Prompt N
    For(X,1,N
    Disp XN+1
    End
PRGM:B 19 bytes
    Prompt N
    For(X,2,N+1
    Disp XN+1
    End
PRGM:C 19 bytes
    Prompt N
    For(X,3,N+2
    Disp XN+1
    End

এখানে সরল, অন্যান্য অনেক উত্তরের সমান, প্রতিটি এক্স এক্স রেঞ্জ (এন) এর জন্য N (1) এবং যেটি প্রোগ্রাম (1, 2, বা 3) এর সাথে নম্বরগুলি প্রদর্শন করে।

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