ট্রান্সপোজড, প্রাইমস, ওরে আমার!


15

কাজটি সহজ: আপনার প্রোগ্রামটি একটি ইনপুট হিসাবে একটি পূর্ণসংখ্যা পড়ে এবং এটি মুখ্য কিনা তা মুদ্রণ করে। আপনি "হ্যাঁ / না", "সত্য / মিথ্যা" বা যেকোন কিছু মুদ্রণ করতে পারেন যা নির্বিঘ্নে ফলাফলটি সনাক্ত করে।

চ্যালেঞ্জটি হ'ল, কোডটিকে তার সারি এবং কলামগুলি স্থানান্তরিত করে কাজ করতে হবে।

সুস্পষ্ট সমাধান (সংক্ষিপ্ততম "সহজ" সমাধানটি মন্তব্যগুলির ব্যবহারের সাথে উল্লম্বভাবে চার-বাই-চর পুনরাবৃত্তি করা) বাদ দিতে, মেট্রিকটি স্বাভাবিক কোড-গল্ফ থেকে কিছুটা আলাদা different

এই চ্যালেঞ্জের জন্য ফর্ম্যাটিং অত্যন্ত গুরুত্বপূর্ণ , কোড আকারের সাথে ছোট আকারের আয়তক্ষেত্রের ক্ষেত্রের আকারে পরিমাপ করা হয় other অন্য কথায়, শ্বেত স্পেস গণনা করে এবং লাইনগুলি সমান দৈর্ঘ্যের হতে হবে (আপনি না আপনি সমাধান পোস্ট করার সময় এটি করতে হবে, সরলতার জন্য)। উদাহরণ স্বরূপ

int main()   
{            
    return 0;
}            

4 * 13 = 52 এর আকার হবে (এবং সম্ভবত এটি দুটি মানদণ্ডের মধ্যে ফিট করে না: প্রধান সনাক্তকরণ এবং স্থানান্তরযোগ্য))

সবচেয়ে ছোট আকারের জয়।

আপনি যে কোনও ভাষা এবং যে কোনও লাইব্রেরির ফাংশন ব্যবহার করতে পারেন ব্যতীত যদি সেই ফাংশনের একমাত্র উদ্দেশ্য প্রাইমগুলি অনুসন্ধান করা, উত্পন্ন করা বা সনাক্ত করা হয়।

সম্পাদনা:

যদিও বিজয়ী সম্ভবত গল্ফস্ক্রিপ্ট সমাধান হবেন, আমি সেরা সি বা সি ++ সমাধানের জন্য একটি 50 পয়েন্ট বন্টি দেব!


আপনার আয়তক্ষেত্রের মেট্রিকটি সুস্পষ্ট সমাধানটিকে নিরুৎসাহিত করতে ব্যর্থ হয়েছে - সবচেয়ে দীর্ঘতম দৈর্ঘ্য গ্রহণ করা ভাল। যদিও, এটি স্কোর 4 হওয়ার জিএস উত্তর হ্রাস করবে
বুথবাই

তুমি ঠিক. পরবর্তী স্থানান্তরিত সমস্যাটির আলাদা মেট্রিক থাকতে হবে এবং প্রতিসম সমাধান নিষিদ্ধ করা উচিত। তবে আমি মনে করি তবুও এমন কেউ আছেন যাঁরা নিয়মগুলি নষ্ট করেন বা কমপক্ষে কোনও সমাধান পান যা QA নিয়মগুলি রচনা করার সময় প্রত্যাশিত ছিল না।
vsz

উত্তর:


7

গল্ফস্ক্রিপ্ট, 13 × 1

~.,2>{1$\%!}?

গল্ফস্ক্রিপ্ট আবার ধর্মঘট!

ইনপুটটি যদি প্রধান হয় তবে তার পুনরাবৃত্তি করে, অন্যথায় ইনপুটটিকে তার ক্ষুদ্রতম উপযুক্ত বিভাজকের সাথে মুদ্রণ করে। হ্যাঁ, আমি জানি "এটি নির্বিঘ্নে ফলাফলটি শনাক্ত করে এমন কিছু" এর সংজ্ঞাটি প্রসারিত করে, তবে কিছু ফ্যানসিয়ার করার জন্য কিছু অতিরিক্ত অক্ষর লাগতে পারে। আপনি যদি ভাল আউটপুট চান তবে তিনটি অক্ষরকে ;]!কোডের সাথে 1প্রাইমস এবং সংমিশ্রিত সংখ্যার 0জন্য যুক্ত করতে হবে।

অ্যালগরিদমটি সত্যিই অদক্ষ, কেবল নিষ্ঠুর বলের বিচার বিভাগটি 2 থেকে n −1 এ। বেশিরভাগ গল্ফস্ক্রিপ্ট অপারেটর কেবলমাত্র একক অক্ষর, সুতরাং এই কোডটি ঠিক স্থানান্তরিত হিসাবে কাজ করে। বিরক্তিকরভাবে, যদিও, অ্যাসাইনমেন্ট অপারেটর :নিজের এবং তার টার্গেটের মধ্যে শ্বেত স্পেসের অনুমতি দেয় না, সুতরাং আমাকে ভেরিয়েবল ছাড়াই এটি পুরোপুরি করতে হয়েছিল।


Wrt "কিছু ফ্যানসিয়ারের জন্য কিছু অতিরিক্ত অক্ষর লাগবে" - আপনি কেবল ২ এর জন্য গল্ফস্ক্রিপ্ট-স্টাইলের বুলিয়ান পেতে পারেন
পিটার টেলর

@ পিটার: আপনি উপরের আমার সম্পাদনার মতো কিছু বলতে চান, কেবল ছাড়া !? বা আপনার মনে কিছু ফ্যানসিয়ার ছিল?
ইলমারি করোনেন

1
আমি )আগে ভাবছিলাম ,যাতে এটি সর্বদা একটি বিভাজক এবং =শেষে খুঁজে পায় ।
পিটার টেলর

:নিউলাইন এর পরে, নতুন লাইন চরিত্রকে বরাদ্দ করে - তাই এটি সাদা অংশের অনুমতি দেওয়া হয় না, এটি কেবল সাদা
অংশকেই

@gnibbler: প্রযুক্তিগতভাবে, আমরা উভয়ই ঠিক। নিজের এবং তার টার্গেটের মধ্যে :শ্বেত স্পেস বা অন্য কোনও কিছুর অনুমতি দেয় না : যা তাৎক্ষণিকভাবে এটিকে অনুসরণ করে, হোয়াইটস্পেস বা অন্য কোনও টোকেন (হ্যাঁ, এমনকি সংখ্যা, স্ট্রিং বা কোড ব্লক) যাই হোক না কেন এটি নির্ধারিত হয়। তবে, হোয়াইটস্পেস হ'ল অফিসিয়াল ডকুমেন্টেশনগুলি বিশেষত সতর্ক করে দেয় এবং ভাল কারণে - যেহেতু বেশিরভাগ জায়গায় গল্ফস্ক্রিপ্টে টোকেনগুলির মধ্যে সাদা স্থান যুক্ত করা কিছুই করে না (সাধারণত, যদি এটি নির্ধারিত না করা হয় ...)।
ইলমারি করোনেন

21

সি, 2 * 70 2 * 60

প্রাইমদের yজন্য মুদ্রণ , অন্যথায় কিছুই নয়।
সম্পাদনা : 10 টি অক্ষর সংরক্ষণের জন্য কোড পরিবর্তন করা হয়েছে। প্যারামটার ছাড়াই চালানো উচিত (তাই m=1)।

main(m,n){for(scanf("%d",&n);n%++m&&n>1;);n-m||puts("y");}/*
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/ 

স্থানান্তর পরিচালনা করার পদ্ধতিটি বেশ জেনেরিক এবং কোনও প্রোগ্রামে প্রয়োগ করা যেতে পারে।
এটি রূপান্তর করার উপর ভিত্তি করে:

abcd/*
\\\\*/

এটি:

a\
b\
c\
d\
/*
*/

এবং উভয়ই সহজভাবে বোঝায় abcd


বাহ, লাইন
কনটেনটেশনের

2
এটি একটি গল্ফ / ধাঁধা সাইট। অপব্যবহারের মতো জিনিস নেই।
বুথবি

2
@ বুথবি, আমি অনুমান করি তার মানে গালি দেওয়া। তবে আমি অভিনন্দন দিয়ে তর্ক করি না।
ugoren

14

সি - 13x13

স্টিডিনের কাছ থেকে ইনপুট পড়ুন এবং প্রাইমের 1জন্য একটি এবং প্রাইম নয় প্রিন্ট করে 0

////m(i;(a=)<
////aans")a;2
//:Di)tc%;;p)
//O n{ adfau+
main//bn"o%t4
(a){///f,r-c8
int b///&(-h)
;scanf///bba;
("%d",&///;r}
a);for(b///( 
=a;a%--b;//( 
);putchar((b 
<2)+48);}    

সম্পাদনা: এখন gcc এবং ঝনঝন সঙ্গে সংকলন, অন্যান্য সংকলক পরীক্ষা করা হয়নি


12

সি, 12x12 অক্ষর

একটি দ্বি-মাত্রিক সমাধান, একই কোডের উপর ভিত্তি করে আমার অন্যান্য উত্তরগুলির বিপরীতে (এবং এটি পছন্দ করে যে, প্রাইমের yজন্য মুদ্রণ করবে, যৌগিক জন্য কিছুই নয়)।
কাঠামোটি কুইসিমোডোর জবাবের মতো , তবে আমার কোডটি ছোট orter এবং আমি মনে করি আমার কমেটগুলির ব্যবহারটি কিছুটা বেশি দক্ষ, তাই আমি 12x12 ফিট করতে পারি।

////m()s";np
////am{c%n>u
////i,fad%1t
////nnon"+;s
main//rf,+)(
(m,n//((&m;"
){for(//n&ny
scanf(//)&-"
"%d",&n)//m)
;n%++m&&//|;
n>1;);n-m|| 
puts("y"); }

7

পার্ল, 14 এক্স 14

আমি মনে করি আমি এটির ফাঁসি পাচ্ছি। কমান্ড লাইন আর্গুমেন্ট, আউটপুট 0বা হিসাবে সংখ্যা উল্লেখ করুন 1। সম্ভবত উন্নতির আরও জায়গা।

$   n=pop;$p|=
 !  ($n%$_)for
  2 ..$n/2;   
   print!$p+m~
n(.r          
=$.i          
pn$n          
o%nt          
p$/!          
;_2$          
$);p          
pf +          
|o m          
=r ~          

3

প্রশ্নঃ

একটি প্রতিসম, চরিত্রের অদক্ষ সমাধানের জন্য আপত্তিজনক মন্তব্য।

/{/////////////////////////////////
{(~)any 0=mod[x;2+(!)x-2]}"I"$(0:)0
/~
/)
/a
/n
/y
/ 
/0
/=
/m
/o
/d
/[
/x
/;
/2
/+
/(
/!
/)
/x
/-
/2
/]
/}
/"
/I
/"
/$
/(
/0
/:
/)
/0

STDIN থেকে ইনপুট নেয়, একটি বুলিয়ান দেয় returns


sqrtসেখানে Not কোড-গল্ফে প্রাইমগুলি সন্ধান করার সময়, স্কয়ারটি এন-তে থামার পরিবর্তে সাধারণত (অপব্যয়ী) সমস্ত উপায়ে এন পর্যন্ত বিভক্ত করা সুবিধাজনক।
gnibbler

অনেক সত্য, ধন্যবাদ। আমি এখনও চেষ্টা করে আরও ভাল স্কোর পাওয়ার সুযোগ পাইনি।
স্কিভে

আপনার উত্তরের একটি স্কোর অন্তর্ভুক্ত করা উচিত
ফ্লিপট্যাক

2

জেলি , 2x2 বর্গ

PÆ
ÆP

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

আমি মনে করি আমার কাছে ট্রান্সপোসিশন অংশটি সঠিক আছে, এবং যদি তাই হয় তবে এর ট্রান্সপোজড সংস্করণটি

PÆ
ÆP

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

(যা একই কোড)


4
এই অবৈধ: " আপনি যে কোনো ভাষা, এবং যে কোনো লাইব্রেরি ফাংশন ব্যবহার করতে পারেন ব্যতীত যে ফাংশন একমাত্র উদ্দেশ্য, খুঁজুন জেনারেট করেন, বা মৌলিক সনাক্ত করতে হয় "
কেভিন Cruijssen

1

05AB1E , 1x5 1x3 ( 5 3 বাইট )

এটি একটি বড় প্রোগ্রাম নয়; প্রতিটি লাইনটি প্রাইম চেকটি মোকাবেলার জন্য পৃথক বিকল্প প্রোগ্রাম (প্রাইম বিল্টিন ব্যবহার না করে)।

ÑPQ
ÒgΘ
ÒQP
ÕαΘ
fQO
fs¢
f`Q

-২ বাইট ধন্যবাদ গ্রিমিকে

লাইনের মধ্যবর্তী শ্বেতস্থানগুলি 05 এবি 1 ই-তে কোনও বিকল্প নেই এবং যেহেতু আমি কেবল 1-বাইট কমান্ড ব্যবহার করি তাই এটি ট্রান্সপোস করার পরে ঠিক কাজ করে।

ফলাফল 1/0 যথাক্রমে সত্য / মিথ্যা জন্য

প্রথমটি অনলাইনে চেষ্টা করে দেখুন বা সেগুলির জন্য আরও কয়েকটি পরীক্ষার কেস যাচাই করুন (ইওল্ট বিল্টিন সহ .V)
স্থানান্তরিত: প্রথমটি অনলাইনে চেষ্টা করুন

ব্যাখ্যা:

Ñ    # Get a list of all divisors of the (implicit) input-integer
     # (which would be only 1 and the integer itself for primes)
 P   # Take the product of that list
  Q  # And check if it's equal to the (implicit) input-integer

Ò    # Get a list of all prime factors of the (implicit) input-integer 
 g   # Get the amount of those prime factors by taking the length of the list
  Θ  # Check if that's equal to 1 (so only itself is a prime factor)

Ò    # Get a list of all prime factors of the (implicit) input-integer including duplicates
 Q   # Check for each if it's equal to the (implicit) input-integer
     # (1 if truthy; 0 if falsey)
  P  # Take the product of those checks (resulting in either 1 or 0 as well)

Õ    # Get the Euler totient of the (implicit) input-integer
 α   # Take the absolute difference with the (implicit) input-integer
  Θ  # Check if that's equal to 1

f    # Get a list of all prime factors of the (implicit) input-integer without duplicates
 Q   # Check for each if it's equal to the (implicit) input-integer
  O  # And take the sum of that (resulting in either 1 or 0)

f    # Get a list of all prime factors of the (implicit) input-integer without duplicates
 s   # Swap to get the (implicit) input-integer
  ¢  # And count how many time it occurs in the list

f    # Get a list of all prime factors of the (implicit) input-integer without duplicates
 `   # Dump all the content of this list onto the stack
  Q  # Check if the top two values are equal, or if only a single value is present, it will
     # use the (implicit) input-integer as second value

     # For all these program the same applies at the end:
     # (implicitly output the result with trailing newline)

দ্রষ্টব্য: যদি কেবলমাত্র সত্যবাদী / মিথ্যা মানটি বৈধ হয়, এবং এটির আলাদা প্রয়োজন হয় না হয় হয় Ògবা Õαবৈধ 2-বাইটার হিসাবে ব্যবহার করা যেতে পারে, যেহেতু কেবলমাত্র 105AB1E তে সত্যবাদী এবং অন্য সব কিছু মিথ্যা: উভয়ের উভয়কেই চেষ্টা করুন কিছু পরীক্ষার ক্ষেত্রে তাদের

যদি বিল্টিনদের অনুমতি দেওয়া হয় তবে কোনও এককই pযথেষ্ট হবে: এটি অনলাইনে চেষ্টা করুন বা আরও কিছু পরীক্ষার কেস যাচাই করুন


1
ÑPQবা ÒgΘবা ÒQP3 বাইট জন্য। ( Ñএবং Òউভয়েরই উদ্দেশ্য "প্রাইমগুলি সন্ধান, উত্পন্ন করা বা সনাক্তকরণ" ব্যতীত অন্য কোনও উদ্দেশ্য রয়েছে, তাই আমার পাঠ্যক্রমে সেগুলি নিষিদ্ধের অন্তর্ভুক্ত নয়)।
গ্রিমি

1
আরো 3-byters: ÕαΘ, fQO, fs¢,f`Q
Grimmy

@ গ্রিমি আহ, বিশ্বাস করা যায় না আমি বিভাজনকারী বা প্রাইম ফ্যাক্টর বিল্টিন সম্পর্কে চিন্তা করিনি .. আমি খুব দ্রুত উত্তর দিয়েছি আমার ধারণা gu Õαযদিও জানতাম না ! এটি একটি সুন্দর সুন্দর।
কেভিন ক্রুইজসেন

0

রুনিক এনেক্যান্টমেন্টস , 7 × 1

v̀i'PA@

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

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

ট্রান্সপোজড বা ট্রান্সপোজড, তবে সম্মিলিত অক্ষরটিকে তার পিতামাতার সাথে সংযুক্ত রেখে





0

এপিএল (ডায়ালগ ইউনিকোড) , 10x11

{⍵∊∘.×⍨1↓⍳⍵          
           
           
 .          
 ×          
           
 1          
           
           
          }

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

বৈশিষ্ট্যগুলি মেনে চলার জন্য ফাংশনটি সংশোধন করেছেন। মাথা উঁচু করার জন্য @ অ্যাডম ধন্যবাদ।

রিটার্নস 0 truthy, 1 falsy জন্য

কিভাবে

{⍵∊∘.×⍨1↓⍳⍵  Dfn. everything below this is a noop up until closing the brace
         ⍳⍵  Range [1..arg]
       1    Dropping the first element (yields [2..arg])
   ∘.×⍨      Multiplication table for each element in the vector
 ⍵∊          Check if the argument is in the table.

স্থানান্তরিত সংস্করণ হুবহু একই।

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