হ্যাঁ 91 টি লাইন দীর্ঘ


50

yes, কোরটিলগুলি থেকে, 91 লাইন দীর্ঘ । তাদের মধ্যে অনেক মন্তব্য নেই, কিন্তু যে এখনও উপায় অতি দীর্ঘ।

সেপ্টেম্বর 2019 থেকে সম্পাদনা করুন: উত্স ফাইলটি গত পাঁচ বছরে বেড়েছে এবং এখন 126 লাইন দীর্ঘ।

এমন একটি প্রোগ্রাম লিখুন যা অনুকরণ করে yes:

  • stdout"y \ n" 's এর অসীম প্রবাহে আউটপুট
  • প্রক্রিয়াটি মেরে ফেলা ব্যতীত এটিকে বন্ধ করার বিকল্প অবশ্যই থাকতে পারে SIGKILL: তবে SIGINTএবং SIGPIPEঠিক আছে
  • আপনাকে "y" বা "\ n" বা তাদের ASCII মান (121, 0x79, 0171, 10, 0xA বা 012) ব্যবহার করার অনুমতি নেই

সংক্ষিপ্ত উত্তর জয়।

বোনাস:

  • আপনার কোডের দৈর্ঘ্য থেকে 10 বিয়োগ করুন, যদি আপনি কোনও বাক্যাংশ পান stdinএবং "y" এর পরিবর্তে এটি মুদ্রণ করতে পারেন (তবে এখনও লাইন-ব্রেক সহ)।

13
" আপনাকে" y "বা" \ n " " ব্যবহার করার অনুমতি নেই - আমি কি " স্ট্রিং আক্ষরিক ব্যবহার করতে পারি না yবা \nভিতরে ব্যবহার করতে পারি না" হিসাবে এটি পড়া উচিত ?
অ্যাপসিলাররা

12
সম্পর্কিত নোটে, জিএনইউ true.c80 লাইন দীর্ঘ।
ডেনিস উইলিয়ামসন

6
@ ডেনিসউইলিয়ামসন একইভাবে সম্পর্কিত নোটে, মিথ্যা সিটি 2 লাইনের দীর্ঘ ....; _;
লর্ডআরো

6
কোর্টিলগুলি yesকমান্ড লাইনে একটি alচ্ছিক যুক্তি নেয়, না stdin
ব্রায়ান মিনটন

7
@ মিঃলোর: অন্যান্য প্রোগ্রামগুলিতে পাইপ দেওয়া যা তারা ক্রমাগত বিভিন্ন কাজগুলির নিশ্চিতকরণের জন্য জিজ্ঞাসা করতে পারে, সুতরাং আপনাকে yনিজের টাইপ করতে বসে থাকতে হবে না ।
মারকাস এরোনিয়াস

উত্তর:


37

সিজেম, 13 বাইট - 10 = 3

l_'x)?{_oNo}h

আপনার এটির জন্য জাভা ইন্টারপ্রেটার ব্যবহার করতে হবে , কারণ প্রোগ্রামটি শেষ হয়ে গেলে অনলাইনে অনুবাদক কেবল তখনই ফিরে আসেন।

আপনি SIGINT (Ctrl-C টিপে) প্রোগ্রামটি বাতিল করতে পারেন। এটি STDIN থেকে একটি লাইন পড়বে এবং সেই লাইনটি মুদ্রণ করবে, অথবা yযদি ইনপুটটি খালি ছিল।

ব্যাখ্যা

l             "Read line from STDIN.";
 _            "Duplicate.";
  'x          "Push character x.";
    )         "Increment to get y.";
     ?        "Ternary operator. Replaces line with y if it was empty.";
      {    }h "Repeat while true. Leaves condition on the stack, which is the output string.";
       _o     "Duplicate line and print.";
         No   "Push string with newline and print.";

ওপিটির স্পষ্টতার পরে, নিম্নলিখিতগুলি আরও অনুমান করা যায়:

l{_o9c)o1}g

যদিও ওপি আমার মন্তব্যে জবাবদিহি না করবে ততক্ষণ আমি জমাটি আপডেট করে অপেক্ষা করব।


16
আমি পছন্দ করি যে আপনার প্রোগ্রামটি /no/iচ্যালেঞ্জ কী তা বিবেচনা করে মেলাতে ঘটেছে ।
কেভিন - মনিকা

20

Brainfuck - 38 বাইট

++++++++++[>++++++++++++>+<<-]>+[.>.<]

এটি 10 ​​বা 121 ব্যবহার করে না, কারণ +-<>.,[]যেভাবেই হোক ভাষাতে সমস্ত অর্থবোধক অক্ষর, তবে এটি তাদের খুব নিখুঁতভাবে গণনা করে (0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 = 1 = 10, 10 * 12 + 1 = 121)।

এটি সম্ভবত দোভাষীর উপর নির্ভর করে তবে এটি ^Cআমার মেশিনে মারা যায় ।

ব্রেইনফাক - (63-10) = 53

++++++++++[>,]<<[[<]>>[[.>]<[<]>]]>[>++++++++++++>+<<-]>+[.>.<]

@ ফ্রাই আমি এভাবে 39 এর নিচে পেতে পারিনি। আমার যাইহোক 10 দরকার, তাই আমি হয় 1 থেকে 120 যোগ করছি বা 11 থেকে 1 কে বিয়োগ করছি, এবং পূর্বেরটি করা আরও ছোট।
আন্ডারগ্রাউন্ডোমোনাইল

হ্যাঁ, আমি লক্ষ্য করেছি এর পরে আপনি 10 টি পুনরায় ব্যবহার করেছেন, দুঃখিত: পি
ফ্রাইআম দ্য এজিগম্যান

10 * 12 + 1 এর পরিবর্তে 11 * 11 কেন নয়? আমি মনে করি এটি আপনাকে একটি চর বাঁচাতে পারে।
ProgramFOX

@pro আমি এইভাবে 39 এর নিচে পেতে পারিনি। আমার যাইহোক 10 দরকার, তাই আমি হয় 1 থেকে 120 যোগ করছি বা 11 থেকে 1 কে বিয়োগ করছি, এবং পূর্বেরটি করা আরও ছোট।
আন্ডারগ্রাউন্ডোমোনাইল

নিবন্ধন করুন
প্রোগ্রামফক্স

18

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

কমপক্ষে সিপিথন এবং জাইথন ​​নিয়ে কাজ করে।

while 1:print(str(help)[1])

সাইন ইন এটি থামায়।


18
এটি অজগর 2 করুন এবং আপনি এটি সংক্ষিপ্ত করতে পারেন while 1:print`help`[1]
আন্ডারগ্রাউন্ডোমোনাইল

4
হাহা সুন্দর. আমি পুরোপুরি ভুলে গেছিলাম যে সেখানে পাইথনে ব্যাকটিক অপারেটর
থাকতেন

আপনি chr(11**2)কয়েকটি অক্ষর সংরক্ষণ
করতেও

2
@ রামচন্দ্রআপনে আপনাকে ব্যবহার করার অনুমতি নেই 121
জোনাথন রাইনহার্ট

17

মার্বেলস 14 বাইট

0978
]]/\++
!!

এটি বেশ সোজা, '/ \' ডিভাইসটি তার বাম এবং ডানদিকে দুটি কপি রাখে, ডানদিকটি বাড়ানো হয় ++এবং তারপরে বোর্ড থেকে পড়ে এবং মুদ্রিত হয়। ]]ডিভাইস ডানদিকে কোনো মার্বেল পাহাড় জমে যদি stdin খালি কিন্তু stdin প্রথম বাইট অধ: পতিত হত্তয়া যদি না হয় তাহলে করতে দেয়। এরপরে এটি !!ডিভাইসটিকে ট্রিগার করবে যা বোর্ডটি থেকে বেরিয়ে আসে। সুতরাং আপনি স্টিডিনে কিছু প্রবেশ না করা পর্যন্ত এটি y print n মুদ্রণ করবে।

এটি কেবল পাইথন ইন্টারপ্রেটারে কাজ করে।


17

পাইথ, 10 9 6 বাইট - 10 = 0 -1 -4

#|zePG

আমি যুগে যুগে চেষ্টা করেছি যে আমি সন্তুষ্ট one মূলত রূপান্তরিত:

#      = while True
(implied print)
|      = or
z      = (automatically initialized from stdin)
ePG    = second-to-last lowercase letter = 'y'

"Z" ভেরিয়েবলটি স্টিডিন থেকে শুরু করা হয়, তার পরে মানটি সহজেই ব্যবহার করা হয়। স্পষ্টভাবে না লিখে এসকি মান পাওয়ার একটি ছোট উপায় খুঁজে পেয়েছি।
স্বতঃস্ফীতি

একটি অক্ষর সংরক্ষণ করতে "^ 11 2" থেকে "^ hT2" এ পরিবর্তন করা হয়েছে।
স্বতঃস্ফীতি

হাই হাইস্টেফ, আমি ভাষার অন্য একজন ব্যবহারকারীকে দেখে আনন্দিত! গল্ফগুলির একটি দম্পতি: এর #সাথে সমতুল্য কার্যকারিতা রয়েছে W1এবং ePGচরিত্রটি পাওয়ার yচেয়ে আরও ছোট উপায় C^hT2
isaacg

ধন্যবাদ, আমি এই পরিবর্তনগুলি প্রয়োগ করব। এই গল্ফ জিনিস এখনও নতুন। আমি পাইথ পছন্দ করি তবে ইচ্ছের আরও কয়েকটি প্রাসঙ্গিক ফাংশন এবং বিট ম্যানিপুলেশন ছিল।
স্বতঃশব্দ

13

সি #, 81 78 76 বাইট

অন্যান্য ভাষার সাথে প্রতিযোগিতা করা যায় না, তবে এখানে এটি যাইহোক:

class A{static void Main(){for(;;)System.Console.WriteLine((char)('x'+1));}}

Ctrl+ টিপে সাইন্ট দিয়ে হত্যা করা যেতে পারে C

কোনও বোনাস নেই, কারণ এটি পেতে 10 বাইটের বেশি লাগবে।


আপনি ব্যবহার করতে পারবেন না while(1)? দুটি চরিত্র সংরক্ষণ করে।
টুথব্রাশ

@ টুথ ব্রাশ আমি চেষ্টা করেছি, তবে এটি সি # তে কাজ করে না।
ProgramFOX

1
for(;;) কাজ করা উচিত
কোর 1024

2
কিছু কারণে, এই কোডটিতে এটি এখনও রয়েছে y। দয়া করে পরীক্ষা করুন System
TheNumberOne

4
@TheBestOne- Systemকে মুছে ফেলা যায় না। এটি নেট ফ্রেমওয়ার্কের শীর্ষস্থানীয় স্থান, সমস্ত শ্রেণি / অন্যান্য নেমস্পেস এতে রয়েছে তাই প্রতিচ্ছবি এখানে সাহায্য করবে না। তবে এটি অবৈধ কিনা তা নিশ্চিত নন। রামনের মন্তব্য দেখুন: "y বা to n কে মূল্যায়ন করে এমন কিছুই নেই"। এটি মূল্যায়ন করে না y। আমি রামনকে এটি বৈধ কিনা তা জানতে চাইলে একটি মন্তব্য করছি this
প্রোগ্রামফক্স

10

জাভা, 178

class C{public static void main(String[]a)throws Exception{for(char c='x'+1;;)((java.io.PrintStream)Class.forName("java.lang.S"+c+"stem").getField("out").get(null)).println(c);}}

মুদ্রণের প্রয়োজন হয় Systemতবে yচরিত্রটি নিষিদ্ধ। সুতরাং, আমি প্রতিবিম্ব ব্যবহার করতে হয়েছিল।


ফাইলডেস্কিপ্টর.আউট বলতে যা বোঝাতে চাইছি তা হল।
TheNumberOne

আপনি লুপ ঘোষণার মধ্যে ;রেখে একটি সংরক্ষণ করতে পারেন , যেহেতু আপনার যে কোনও উপায়ে খালি সেমিকোলন রয়েছেchar c='x'+1;forfor(char c='x'+1;;)
corsiKa

পছন্দ করুন
Ypnypn

10

পার্ল: 18 বাইট - 10 = 8

স্ট্রিংটি এসটিডিনের।

$_=<>;{print;redo}

3
y\nএটি STDIN থেকে ইনপুট না পেলে কি বারবার মুদ্রণ করে? যদি তা না হয় তবে এটি সঠিকভাবে অনুকরণ করে না yes
vurp0

@ vurp0 সর্বোপরি yesইনপুট নেয় না STDIN:)
কোর 1024

1
এটি হয় না, তবে কোড গল্ফের প্রশ্নটি এখানে উল্লেখ করেছে যে এটি যদি ইনপুট না পায় তবে এটি বারবার মুদ্রণ করা উচিত y\n
vurp0

2
@ vurp0 কোথায়? স্ট্রিম থেকে পড়া যে কোনও প্রোগ্রাম ইনপুট ছাড়াই স্তব্ধ হয়ে যাবে।
কোর 1024

@ vurp0 প্রশ্নটিতে ওপির মন্তব্য দেখুন।
nyuszika7h

9

রুবি, 30 23 18 বাইট

loop{puts ?x.succ}

Ctrl+ টিপে সাইন্ট দিয়ে হত্যা করা যেতে পারে C

ধন্যবাদ manatwork উন্নতি ভাগ করে নেওয়ার জন্য!


1
loop{puts [*?x..?z][1]}- 23 টি অক্ষর, loop{puts ?x.succ}- 18 অক্ষর
manatwork

@ মান্যাটওয়ার্ক ধন্যবাদ! আপডেট করা হয়েছে।
ProgramFOX

8

পার্ল, 26 বাইট

{print chr$=*2+1,$/;redo}

আর্গুমেন্ট থেকে কাস্টম ইনপুট (যেমন yesবাস্তবে কাজ করে), 22 বাইট -10 = 12

{print @ARGV,$/;redo}

স্টিডিন থেকে কাস্টম ইনপুট, 22 বাইট -10 = 12

while(<>){print;redo}

@ এমআইএম নিটজের প্রোগ্রামটি কেবলমাত্র 14 বাইট দীর্ঘ এবং আপনার লিঙ্কটিতে একটি অত্যন্ত উচ্চারণমূলক মন্তব্য রয়েছে যা বলছে যে আপনি ফাইলের নামগুলিকে বাইট কাউন্টে অন্তর্ভুক্ত করেন কিনা তা বিবেচনার জন্য এটি শীতল। এটি আমার কাছে বৈধ বলে মনে হচ্ছে।
আন্ডারগ্রাউন্ডোমোনাইল

ওহ অপেক্ষা করুন, আমি প্রশ্নের "অংশ আপনি" use "y \" ব্যবহার করতে পারবেন না। এটিকে খারাপ বিবেচনা করুন না
আন্ডারগ্রাউন্ডোমোনাইল

তুমি সঠিক. এটি স্থির করে
নিত্জ

6

সি, 64 55 53 45 40 - 10 = 30

main(int c,int**a){for(;;)puts(a[c>1]);}

আমি এতে খুব বেশি খুশি নই, কারণ এতে প্রোগ্রামটির নাম "y" রাখা প্রয়োজন, এবং কেবলমাত্র `y` দিয়ে ডাকা প্রয়োজন, তাই এটি AT PATH এ থাকতে হবে তবে হেই, প্রথম কোডগল্ফ :)

বিকল্প:

সি, 30 (+ 1 ফাইলের নাম)

main(){for(;;)puts(__FILE__);}

আমার সম্মানিত সহকর্মী @ ম্যাট উইন্ডসর হিসাবে একই কৌশলটি ব্যবহার করা

  • সম্পাদনা: দেখা যাচ্ছে যে কোনও character n চরিত্রটি এটি খাটো করে তুলেছে round
  • EDIT2: "int" "চর" এর চেয়ে কম
  • EDIT3: মোটেই সেই পরিবর্তনশীলটির দরকার নেই
  • সম্পাদনা 4: কিছুটা সামান্য সংজ্ঞায়িত আচরণ কখনও কাউকে আঘাত করে না
  • EDIT5: বিকল্প সংস্করণ যুক্ত করুন

5

লিনাক্স ব্যাশ, 33-10 = 23

read a; while :; do echo $a; done

Ctrl+ টিপে সাইন্ট দিয়ে হত্যা করা যেতে পারে C


আপনার কেবল একটি লাইন পড়তে হবে এবং একই লাইনটি বারবার মুদ্রণ করা উচিত। আপনার প্রোগ্রামগুলি yesকিন্তু catপ্রোগ্রাম নয়।
জিমি 23013

আমার খারাপ, of দিনের কাজের পরে আমার এটি চেষ্টা করা উচিত হয়নি।
ওরেস

কীভাবেread a;for((;;));{ echo $a;}
কোর 1024

5

মরিচা, 52 অক্ষর

fn main(){loop{println!("{}",'Y'.to_lowercase())}}

yমরিচায় চটজলদি না করে কম্পিউটিংয়ের আপাতদৃষ্টিতে খুব ভাল উপায় নেই - তারা নিরাপদে চরগুলি করার খুব ভাল একটি কাজ করেছে। আমি:

  • একটি আক্ষরিক স্ট্রিং সরবরাহ করতে পারে না println!, সুতরাং সেখানে কোন কৌশল ব্যবহারের অনুমতি নেই;
  • 1 যোগ করতে পারবেন না 'x', কারণ মরিচায় চরগুলি সংখ্যা নয়;
  • ROT13 করতে পারবেন না (কেন মরিচার স্ট্যান্ডার্ড লাইব্রেরিতে ROT13 নেই !?);
  • অবিশ্বাস্যরূপে ভার্বোস না হয়ে এবং 52c এর উপরে না গিয়ে সি স্ট্রিংগুলিতে নেমে যাওয়া, সংখ্যা থেকে চরগুলিতে রূপান্তরকরণ ইত্যাদির মতো অনিরাপদ কিছু সহজেই করা যায় না।

বা কোড মূল্য বোনাস জন্য এটি মূল্যবান হয় না, কারণ পড়তে stdinত্রুটি পরিচালনার প্রয়োজন হবে = 3

সংক্ষিপ্ত পরিবেশের সাথে ক্রমবর্ধমান নিয়ম-উজাড় করার কাজগুলিতে আমি জড়িত কোড কোডের বেশিরভাগ ক্ষেত্রে:

মরিচা, 44 টি অক্ষর (ফাইলের জন্য কমপক্ষে 1 টি চর)

fn main(){loop{println!("{:.1}", file!())}}

নীচে দ্বারা অচল। উত্স ফাইলটির নামটি শুরু হওয়া হিসাবে এটি সম্ভবত গণনা করা হয় না y

সম্পাদনা করুন: মরিচা, 36 টি অক্ষর (35 উত্স, 1 ফাইলের নাম)

fn main(){loop{println!(file!())}}

উপরে হিসাবে, কিন্তু ফাইল রয়েছে বলা হবে y(না y.rs, y)। হাস্যকরভাবে, মর্ট বাইনারি দিয়ে উত্সটি ওভাররাইট করবে! কমপক্ষে আমার মেশিনে, বাইনারি তার পরেও কাজ করে।

মরিচা, 37 টি অক্ষর ( env K='y'আপনার প্ল্যাটফর্মের সমতুল্য )

fn main(){loop{println!(env!("K"))}}

এই এক এমনকি খারাপ হল: আপনি এনভায়রনমেন্ট ভেরিয়েবল সেট করতে হবে Kকরতে yসময় কম্পাইল

সম্পাদনা করুন : যদি আপনি নির্ধারণ Kকরতে y\n, আপনি ড্রপ পারে lnমধ্যে println!একটি সর্বোমোট জন্য, 35 অক্ষর এবং বিভিন্ন facepalms:

fn main(){loop{print!(env!("K"))}}

নির্দিষ্ট ফাইলের নাম বা সংকলক পতাকা লাগানোর জন্য আমাদের সাধারণ নীতিটি কেবল বাইট গণনায় অন্তর্ভুক্ত করা।
মার্টিন এন্ডার

@ মার্টিনব্যাটনার ফেয়ার যথেষ্ট। অদ্ভুতরূপে যথেষ্ট, এটি দেখে মনে হবে যে মরিচা কোড গল্ফের জন্য সেরা ভাষা নয়>: পি
ম্যাট উইন্ডসর

আপনি xএকটি ফ্যাশনে একজনকে যুক্ত করতে পারেন তবে এটি এখনও ছোট নয়:(b'x' + 1) as char
শেপমাস্টার

5

লিনাক্স ব্যাশ - 19 বাইট

এটি সম্ভবত প্রতারণা এবং ব্যর্থতার সাপেক্ষে যদি আপনার কাছে / ইউএসআর / বিন / হ্যা না থাকে বা আপনার কাছে / ইউএসআর / বিন / এক্স বা / ইউএসআর / বিন / জেস না থাকে:

/usr/bin/[x-z]es $*

আমি মনে করি এটি প্রয়োজনীয়তাগুলি পূরণ করে, যদিও এটি "y এর সাথে মূল্যায়ন করে এমন কিছুই" নিয়ম লঙ্ঘন করছে। এবং সম্ভবত yesপ্রকৃতপক্ষে দৌড়ানো দ্বারা অনুকরণ করা yesনিয়মের বিরুদ্ধে।

এটিকে 11 বাইটে নামিয়ে আনার জন্য এটি কিছুটা অপ্টিমাইজড (যদিও কাজ করার সম্ভাবনা কম):

/*/*/?es $*

কোডটিতে 10 বাইটের বেশি যুক্ত না করে স্টিডিনের স্ট্রিং পড়ে কীভাবে 10 পয়েন্ট বোনাস পাবেন তা আমি বুঝতে পারি না


2
/*/*/?es `line` , বা /*/*/?es `head -n1` আপনার না থাকলে /usr/bin/line
jimmy23013

2
বা sed qজন্য line
jimmy23013

5

ডিসি, 12

[30986Pdx]dx

কেবল আউটপুটস y\n। স্টিডিন থেকে পড়ে না, তাই কোনও বোনাস নেই।

30986 0x790A (যেমন "y \ n")। Pকমান্ড কেবল 256 বেস নম্বর পরিবর্তন করে, এবং প্রতিটি বেস 256 অঙ্ক জন্য সংশ্লিষ্ট চরিত্র ছাপে।


এটি বেশ চালাক, 30986 কীভাবে মূল্যায়ন করে y\n?
nyuszika7h

আমি জানতাম Pতবে জানতাম না এটি একবারে একাধিক চরিত্র করতে পারে।
nyuszika7h

5

কমন লিস্প: (30-10) = 20

(format t"~@{~a~%~:*~}"(read))
  • (read) ইনপুট স্ট্রিম থেকে
  • আউটপুট স্ট্রিমে মুদ্রণ করুন: (format t ... )
  • সমস্ত formatআর্গুমেন্টের উপর পুনরাবৃত্তি (কেবল এখানে একটি):~@{ ... ~}
  • প্রতিটি যুক্তির জন্য লুপের ভিতরে:

    • মুদ্রণ যুক্তি ~Aএকটি নিউলাইন পরে~%
    • পূর্ববর্তী একটিতে বর্তমান উপাদানটিকে রিন্ডাইন্ড করুন ~:*(অসীম লুপ)

আপনি এটি দিয়ে লুপটি ভাঙ্গতে পারেন Ctrl+C, যা পুনঃসূচনা বিকল্পগুলির সাথে একটি ত্রুটির সংকেত দেয় (চালিয়ে / বাতিল)।


3

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

main=putStrLn[succ 'x']>>main

আমি বিশ্বাস করি এটি উভয় দ্বারা বন্ধ হয়ে গেছে SIGINTএবং SIGPIPE


পরামর্শ: '\89'পরিবর্তে ব্যবহার করুনsucc 'x'
গর্বিত হাসেলেলার

3

রুবি, 27 বাইট - 10 = 17

এটি বোনাস সহ কেবল @ প্রোগ্রামএফএক্সের সমাধান (বোনাসের প্রশ্নটি সমাধান করতে আমার 9 বাইট লেগেছিল)।

loop{puts ARGV[0]||?x.succ}

3

ডিসি, 21 বাইট - 10 = 11

C1st?st[ltP[]ps0dx]dx

নোট করুন যে ইনপুটটি মোড়ানো আবশ্যক [], যেমন [no], কারণ ?ইনপুট নেওয়ার একমাত্র উপায়, যা dcকোড হিসাবে এটি কার্যকর করে ।


আপনি C2পরিবর্তে ব্যবহার করতে পারেন 122। আসলে আমি যুক্তি দিয়ে বলব যে প্রশ্নটি স্পষ্টভাবে নিষিদ্ধ নয় হিসাবে 122 1-প্রতিস্থাপন করা যেতে পারেC1C1
ডিজিটাল ট্রমা

3

কমোডোর 64 বেসিক: 14 13 বাইট

1?C|(11↑2):R╭

যথারীতি, আমি PETSCII- র অক্ষরগুলির জন্য বিকল্প তৈরি করেছি যা ইউনিকোডে উপস্থিত নেই। |প্রতিনিধিত্ব করতে ব্যবহৃত হয় SHIFT+H, যখন প্রতিনিধিত্ব করে SHIFT+U। নোট করুন যে ডিফল্ট কমোডোর চরিত্রটি 'y' হিসাবে প্রদর্শন করে এমন অক্ষরের পরিবর্তে এটি ASCII 'y' (বাইট মান 121) আউটপুট করে।

বেসিক সম্ভবত অনুধাবন করা সহজ, ইংরেজি-এর মতো প্রোগ্রামিং ভাষা। অনেক প্রারম্ভিক উপভাষায় উপস্থিত টাইপিং শর্টকাটগুলিতে ফেলে দিন এবং আপনি পার্লের চেয়ে খাটো এবং কম পঠনযোগ্য এমন কিছু পান।

সম্পাদনা : "স্থানান্তরিত মোডে", এটি দুটি বাইট সংক্ষিপ্ত হয়ে যায়, দশমিক মান 89 এ এনকোড করা লোয়ারকেস "y" এর জন্য ধন্যবাদ " প্রতারণা, যদিও।

1?cH(89):rU

ইউনিকোডে থাকা সমস্ত With টির সাথে, এটি অবাক করে দেওয়ার মতো বলে মনে হচ্ছে যে সি 64 এর ব্যবহৃত পূর্ণ চরিত্র সেটটি অন্য কোথাও থাকবে না।
ক্যাস্পারড

@ ক্যাস্পার্ড, ইউনিকোডের বাক্স-অঙ্কনের অক্ষরগুলি বেশিরভাগ আইবিএম "ডস" সেট থেকে আসে এবং অক্ষর ঘরের মাঝখানে যায়। পিইটিসসিআইআই এর একটি বৃহত্তর সেট রয়েছে যার বেশিরভাগটি অক্ষর ঘরের প্রান্ত ব্যবহার করে। ইউ + 2502 সম্ভবত উত্পাদিত উল্লম্ব বারের একটি শালীন অনুমান SHIFT+H, তবে পাইপের অক্ষরটি টাইপ করা সহজ। সেখানে "উপরে এবং বামে প্রান্ত লাইন" `Shift + O" কে দ্বারা উত্পাদিত সংশ্লিষ্ট কিছুই নেই।
মার্ক

: "RU? 1 CH (89):" খুব ভালো, কিন্তু আপনি "এতে যান 1" "চালান" দ্বারা প্রতিস্থাপন পর এক বাইট বাঁচাতে পারে
LeFauve

@ লেফাউভ, ধন্যবাদ আমি এএসসিআইআই-নির্গমন সংস্করণেও এটি প্রয়োগ করেছি।
চিহ্নিত করুন

3

এডাব্লুকে, 38 বাইট

BEGIN{for(;;)printf("%c%c",60+61,5+5)}

ভেরিয়েন্ট যা স্টিডিন স্ট্রিং পড়বে: 14 বাইটস -10 = 4

{for(;;)print}

তবে যেহেতু এটি উভয়ই করতে পারে না (কোনও স্টিডিন সরবরাহ না করা হলে "y" এ প্রত্যাবর্তন করুন), আমি নিশ্চিত নই যে এটি গণনা করেছে ...: o)

উভয়ই Ctrl + C দিয়ে বেরিয়ে আসতে পারবেন।


3

বিদারণ , 5 বাইট

Rx+!N

এটি ফিশনের পক্ষে মোটামুটি প্রতিযোগিতামূলক। :)

কন্ট্রোল প্রবাহটি (1,0)ডানদিকে যাবার পরমাণুর সাথে শুরু হয় Rxভর সেট করে 120এবং +এটি প্রদানের জন্য বৃদ্ধি করে (121,0)। তারপরে !সম্পর্কিত অক্ষর ( y) Nমুদ্রণ করে একটি নতুন লাইন প্রিন্ট করে। উত্স কোডটি প্রান্তগুলিতে চারপাশে মোড় নেয়, সুতরাং পরমাণু Rআবার পাস হয় (যা এখন কিছু করে না), আবার xভরকে সেট করে 120, +এটিকে বৃদ্ধি করে এবং আরও কিছু ...


3

সি, 32 বাইট

-O2 (স্ট্যাক ওভারফ্লো এড়াতে) এর সাথে সামান্য এন্ডিয়ান মেশিন এবং সংকলন প্রয়োজন।

a=11*11;main(){main(puts(&a));}

2

পাওয়ারশেল, 27 - 10 = 17

param($s=$Host[1])for(){$s}

পাশে কাজ করতে পারে না। আরও শক্তিশালী বিকল্প হওয়া উচিত

param($s="$(gal gh*)"[2])for(){$s}

2

লুয়া, 42 বাইট - 10 = 32

while 1 do print(...or('').char(90+31))end

লুয়া, 49 বাইট - 10 = 39

y=...or(string.char(60+61))while 1 do print(y)end

উভয়ই লুয়া 5.1.4 দিয়ে পরীক্ষা করা হয়েছিল এবং সাইন্ট ( Ctrl+ C) দিয়ে হত্যা করা যেতে পারে ।


অসাধারণ! আমার মা লুয়াতে লিখেছেন, আমি এর আগে বুনোতে কখনও দেখিনি। ( আরে মা! আমি যা দেখেছি অনুমান করুন! )
সিগন্যাল 15

2

পার্ল, 31

এখানে পার্ল সংস্করণটি আসলে জিএনইউর মতো আচরণ করে yes, যতদূর আমি বলতে পারি:

{print "@ARGV"||chr 11**2;redo}

পার্লের কমান্ড লাইন সুইচগুলি ( -lনতুন লাইনের জন্য) ব্যবহার করা যদি ঠিক হয় তবে এটি কাজ করে , অন্যথায় এটি 3 টি অক্ষর দীর্ঘ হয়ে যাবে:

{print "@ARGV"||chr 11**2,$/;redo}

টাইপো: নতুন লাইনের জন্য স্যুইচ -l(নয় -e)।
chris-l

এছাড়াও, আপনার স্ক্রিপ্ট স্টিডিনের কাছ থেকে পড়তে পারলেই বোনাসটি হয় । হ্যাঁ, আমি জানি যে হ্যাঁ হ্যাঁ স্টাডিনের কাছ থেকে পড়ে না, একটি যুক্তি থেকে, তবে ওপি'র বিধিটিই এই নিয়ম; এটি বোনাস পেতে স্টিডিন থেকে হতে হবে।
chris-l

@ ক্রিস-এল প্রকারটি ঠিক করেছেন, ধন্যবাদ। আমি বোনাস সম্পর্কিত
দাবিটিও সরিয়েছি

তিনি নিশ্চিত, আমার নিজের উত্তরটি আপনার মতো; এটি স্টিনের পরিবর্তে একটি যুক্তি ব্যবহার করে। এই প্রোগ্রামটিতে, অপ বেশী যারা বোনাস দিতে হবে আসলে কি বাস্তব না হ্যাঁ আছে।
chris-l

2

সিএপিএল 1.5+; 6 ইনপুট ছাড়া; ইনপুট সহ 10 - 10 = 0

সিডিনোট
আমি কোথাও পড়েছি [লিঙ্ক?] যে কাস্টম ভাষাগুলি গল্ফিং প্রশ্নগুলিতে অনুমোদিত নয়, কারণ তারা বিল্ট-ইন ফাংশনগুলি তৈরি করতে পারে যা প্রশ্নটি যা বলছে ঠিক তেমনই করতে পারে, তবে আমি সাধারণভাবে গল্ফিংকে আরও সহজ করার জন্য সিএপিএল তৈরি করেছি । আপনি যদি মনে করেন এটি এখানে অনুমোদিত নয়, আমাকে জানান!

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

যেহেতু কেউ এই ভাষাটি এখনও জানে না, আমি যথাসম্ভব ব্যাখ্যা করার চেষ্টা করব।

আউটপুটটিং y। 6 বাইট

bb*.n<

bb* bজন্য হেক্সাডেসিমেল হয় 11, তাই bb*হল 11*11= 121যার হল UTF-8 সমতূল্য, y। এই মানটি স্ট্যাকের দিকে ঠেলে দেওয়া হয়।
.স্ট্যাক থেকে শীর্ষ মানটি পপ করে এবং ইউটিএফ -8 হিসাবে আউটপুট দেয়। হিসাবে 121স্ট্যাকের উপরে হয় সূচক এখানে উপেক্ষা করা হয়।
nএকটি নতুন লাইন আউটপুটগুলি
<লাইনের শুরুতে পয়েন্টারটি ফেরত পাঠায়, এইভাবে লাইনটি পুনরাবৃত্তি করে। আমরা যেমন ইনপুট আশা করি না, আমরা ইনপুটটির জন্য পুনরায় জিজ্ঞাসা না করেই নিরাপদে এটি করতে পারি।

ইনপুট থেকে আউটপুটিং। 10 বাইট, 0 বোনাস পরে

i~a&{X:.)}

iব্যবহারকারীর কাছ থেকে ইনপুট নেয়, স্ট্যাকের শীর্ষে UTF-8 হিসাবে চাপ দেয় এবং এর পরে দৈর্ঘ্যের দিকে ধাক্কা দেয়। অর্থাৎ [72,101,108,108,111,5]
~স্ট্যাক থেকে একটি নম্বর পোপ করে, তারপরে সেই পরিমাণ বাইট বিপরীত হয়। অর্থাত [111,108,108,101,72]
aজন্য হেক্সাডেসিমেল 10, NEWLINE চরিত্র
&{...}একটি অসীম লুপ তৈরি করে। আমাদের ইনপুট রয়েছে, তাই আমরা পয়েন্টারটি লাইনে ফিরে পাঠাতে পারি না। আমি নীচের লাইনে ফাংশনটি রাখতে পারি, যা আমার বাইট সুরক্ষিত করতে পারে, তবে এই চ্যালেঞ্জে নতুন লাইনের অনুমতি নেই।
Xস্ট্যাক থেকে শীর্ষ মানটি সরিয়ে দেয় (লুপ থেকে সূচক)
:.শীর্ষ মানটি নকল করে, তারপরে ইউটিএফ -8
)টার্ন স্ট্যাক ডান হিসাবে আউটপুট দেয় । ( [1,2,3,4,5]-> [5,1,2,3,4])

যাইহোক, এর অর্থ আমরা একটি নতুন লাইন দিয়ে শুরু করব, তারপরে ইনপুট আউটপুট শুরু করতে হবে, তারপরে একটি নতুন লাইন, তারপরে ইনপুট ইত্যাদি If বোনাস

iXa#~&{X:.)}

এখানে কেবলমাত্র নতুন কমান্ডটি রয়েছে #, যা স্ট্যাকের আইটেমের পরিমাণ স্ট্যাকের দিকে ঠেলে দেয়।
আমি দৈর্ঘ্যটি সরিয়েছি i, কারণ 1 যুক্ত করে, তারপর নতুন লাইনের সাথে অদলবদল অপসারণ এবং আবার দৈর্ঘ্য পাওয়ার চেয়ে দীর্ঘ longer

শুধু মজাদার জন্য, এখানে একটি "হ্যালো ওয়ার্ল্ড" প্রোগ্রাম

"Hello World"#~
#?!;.<

?!অপারেশন> <> 'গুলি হিসাবে একই


আসলে সীমাবদ্ধতা প্রশ্ন পোস্ট হওয়ার পরে প্রকাশিত কাস্টম ভাষা / গ্রন্থাগার / বৈশিষ্ট্যগুলিতে প্রযোজ্য ।
manatwork

@ মান্যাটওয়ার্ক এর অর্থ আমার উত্তরটি অবৈধ। স্পষ্টির জন্য ধন্যবাদ। আমি এই ভাষাটি তৈরি করেছি এবং ভবিষ্যতের সংস্করণগুলির জন্য আমি কী উন্নতি করতে পারি তা পরীক্ষা করার জন্য কিছু গল্ফিং চ্যালেঞ্জগুলি করতে চেয়েছিলাম, যদি এটি আরও ভাল করে তোলে।
চার্লি

আমার মতে এটি অবৈধ নয়, কেবল জয়ের যোগ্য নয়। এই বিধিনিষেধের লক্ষ্যটি প্রতারণা রোধ করা ছিল, তবে আপনি ভাষাটির সতেজতা সম্পর্কে বিবৃতিটি অন্তর্ভুক্ত করার কারণে, এটি সম্ভবত কোনও প্রতারণার প্রচেষ্টা হিসাবে বিবেচিত হতে পারে।
manatwork

2

এপিএল (ডায়ালগ এপিএল) , 5 - 10 = -5 বাইট

সতর্কতা: একটি অননুমোদিত এবং অসমর্থিত বৈশিষ্ট্য / বাগের উপর নির্ভর করে।

⎕←⍣≢⍞

খালি এসটিডিএন খালি লাইনগুলি ("y" নয়) মুদ্রণ করে, যা অনুমোদিত এবং প্রস্তাবিত হয়েছে

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

 পিছনে থাকা নতুন লাইনের সাথে থামিয়ে দিন,

 পায়

 বারবার পর্যন্ত

 এটি থেকে পৃথক

 stdin

অর্থ্যাৎ কখনই নয়, তবে থ্রেড থামিয়ে নিরবচ্ছিন্ন।


হুম। আপত্তিজনক বাগ .. আকর্ষণীয়।
ম্যাথু রোহ

পছন্দ করুন "বৈশিষ্ট্য" অপারেটরটিকে অ্যাসাইনমেন্টে ব্যবহার করছে , যদিও এটি আসল কার্যকারিতা যথাযথ নয় এবং এইভাবে অপারেন্ড হওয়ার পক্ষে সত্যই যোগ্য নয়। এখনও এর মাধ্যমে কাজ করে ...
Adám

2

> <>, 6 বাইট

b:*oao

প্রান্তটি অন্তর্ভুক্ত না করে ;, <<> সাইন ইন প্রকাশ না করা অবধি সাঁতার কাটতে থাকবে।

ব্যাখ্যা

b:*oao
b         Push 11
 :        Duplicate
  *       Multiply top elements to get 121
   o      Print as character
    a     Push 10
     o    Print as character (yielding '\n')
          No program terminator, so our ><> will 
          keep on swimming this path forever.
^----' 


> <>, 17 - 10 = 7 বাইট

পূর্ববর্তীটি বেশ বিরক্তিকর সমাধান, সুতরাং এখানে স্ট্যান্ডিন থেকে ইনপুট নেওয়া একটি। এটি এটিকে অপব্যবহার করে যে কোনও > <> প্রোগ্রামে ইনপুট সরবরাহের ডিফল্ট উপায়টি echo 'input' | fish.py yes.fishযেখানে অক্ষর echoসরবরাহ করে \n

 i:0)?!v
0r}o:r~<

ব্যাখ্যা

 i:0)?!v     Load STDIN into the stack (reversed)

             NOP           <----------,
 i           Push a byte from STDIN   |
  :          Duplicate top element    |
   0         Push 0                   |
    )?       If (i > 0):              |
      !        Wrap around  ----------'
             Else:
       v       Move to the second part

0r}o:r~<     Print STDIN until halted

       <     Go right         <---------------,
      ~      Remove top element (duplicated   |
                -1 from EOF)                  |
     r       Reverse stack                    |
    :        Duplicate top element            |
   o         Output as character              |
  }          Rotate stack to right (go to     |
                next character)               |
 r           Reverse the stack                |
0            Push 0                           |
             Wrap around       ---------------'

0rশেষে অনুমতি sfor লুপ প্রায় মোড়কে যেখানে আমরা এখনও স্ট্যাক অনুমান একটি সঙ্গে বিপরীত জন্য আপনার দ্বারা সরবরাহিত ঘটতে -1উপরে।


1

স্পষ্টতই এটি সম্পূর্ণ পোর্টেবল নয়। আমার sys.version হয় 2.7.9 (default, Dec 11 2014, 04:42:00) \n[GCC 4.9.2], তাই এই কাজ নাও করতে পারে যদি পুলিশের ভিন্ন আমি অনুমান।

পাইথন 2 - (76-10) = 66

import sys
s=sys.stdin;a=`help`[1]if s.isatty()else s.read()
while 1:print a

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

প্রথমদিকে, আমি স্টিনের পরিবর্তে যুক্তি হিসাবে বোনাসটি ভুলভাবে লিখেছি। আমি এর জন্য আমার সমাধান নিয়ে গর্বিত, তাই আমি যাইহোক এটি পোস্ট করছি;)

পাইথন 2 - (52-10 + ∞) = ∞ (অবৈধ!)

import sys
while 1:print(sys.argv+[0])[1]or`help`[1]

sys.argvএকটি তালিকা যেখানে জিরোথ উপাদানটি ফাইলের নাম এবং প্রতিটি উপাদানগুলির পরে থাকা প্রোগ্রামগুলি একটি আর্গুমেন্ট। আমি তালিকার শেষে একটি মিথ্যা মান যুক্ত করব; যদি কোনও যুক্তি না থাকে তবে প্রথম উপাদানটি হ'ল মিথ্যা মান, অন্যথায় এটি প্রথম যুক্তি। a or bপাইথনে প্রথম মানটি প্রত্যাবর্তন করে যা ফলাফল কী হবে তা নিশ্চিত করে: যদি aসত্যবাদী হয় তবে আমরা ইতিমধ্যে জানি যে পুরো জিনিসটি সত্য হবে, তাই এটি কেবল ফিরে আসে। যদি এটি মিথ্যা থাকে bতবে ফেরত দেওয়া হয় ( False or b== থেকে b)।


আমি নিখরচায় চেষ্টা করতে পারি, তবে এটি ব্যবহারকারীকে অনুরোধ জানাবে। আমি চাইছিলাম y\nস্টিডিন খালি থাকলে তাৎক্ষণিকভাবে থুতু দেওয়া শুরু করুক ।
আন্ডারগ্রাউন্ডোমোনাইল

@ ফ্রাই যে অদ্ভুত, এটি আমার পক্ষে কাজ করে। এটি সিপিথনের উপর নির্ভরশীল হতে পারে? আমার অন্য কোনও ধারণা নেই।
আন্ডারগ্রাউন্ডোমোনাইল


r=raw_input();p=r if r else`help`[1]\nwhile 1:print p 52 টি অক্ষর
6:47 এ গ্লোবাই

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