রাশিয়ান রুলেট


28

একটি প্রোগ্রাম লিখুন যা রাশিয়ান রুলেটকে বাজায়!

প্রোগ্রামটি শুরু হলে,

  • "আমি বেঁচে গেছি!" মুদ্রণের পরে এটির স্বাভাবিকভাবে শেষ হওয়ার 6 টির মধ্যে 5 টির সুযোগ থাকা উচিত!
  • প্রোগ্রামটি ক্র্যাশ হওয়ার 6 টির মধ্যে 1 টি থাকা উচিত। (বিভাগ বিভাজন ইত্যাদি)

কোনও ইনপুট এবং অন্য কোনও আউটপুট অনুমোদিত নয়।

এলোমেলোতা অবশ্যই ন্যায্য: এটিতে একটি অভিন্ন সম্ভাবনা বন্টন থাকতে হবে। এর অর্থ একটি অবিশ্বাস্য ভেরিয়েবল (বা বীজ ছাড়াই একটি আরএনজি) এমওডি 6 যথেষ্ট হবে না।

সমাধানটি যদি কেবলমাত্র একটি ডেডিকেটেড অপারেটিং সিস্টেম / প্ল্যাটফর্মের সাথে কাজ করে তবে আপনি স্কোরটিতে 6 বাইট জরিমানা পাবেন।

প্রথম বৈধ উত্তরের 10 দিনেরও বেশি সময়ের মধ্যে নয়, সংক্ষিপ্ততম কোড জিতেছে।


1
ডকুমেন্টেশনে সুস্পষ্টভাবে গ্যারান্টি না থাকলেও কি আমরা অন্তর্নিহিত রানটাইমটিকে ন্যায্য হতে নির্ভর করতে পারি? উদাহরণস্বরূপ পাইথনের randrange(5)হিসাবে প্রয়োগ করা যেতে পারে randrange(MAX_INT)%6
ugoren

সৃজনশীলতাকে অনুপ্রাণিত করার জন্য, আপনি সেই সমাধানগুলিতে বোনাস দেওয়ার কথা বিবেচনা করতে পারেন যা শূন্য দ্বারা বিভাগে নির্ভর করে না
প্রিমো

সম্ভবত বলেছে বোনাসের মধ্যে স্কোরকে 2 ভাগ করে নেওয়া উচিত
জো জে।

1
@ জোজেং: এটি অনেক বেশি হত। সাধারণত আপনি একে একে আলাদা ত্রুটি করতে পারেন, যেমন নাল পয়েন্টার রেফারেন্স ইত্যাদি মাত্র কয়েকটি অক্ষরের ব্যয়ের জন্য।
বনাম

আমি দেখি. আমি কোড গল্ফ ধাঁধা জন্য স্কোরিং শর্ত তৈরি করতে খুব অভিজ্ঞ না, তাই আমি এখনও এই জাতীয় জিনিস শিখছি।
জো জেড।

উত্তর:


4

05 এ বি 1 ই , 13 12 বাইট

6LΩiFë“IЖd!

-1 বাইট @ এমিগানাকে ধন্যবাদ ।

05AB1E আসলে মোটেও ত্রুটি করতে সক্ষম হওয়া উচিত নয়, তবে যেহেতু 05AB1E এর নতুন সংস্করণটি এখনও উত্তরাধিকার সংস্করণের তুলনায় কিছু সমস্যা রয়েছে, তাই আমি এই চ্যালেঞ্জটি ত্রুটিযুক্ত করতে আমার সুবিধাটিকে নিতে পারি can

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

ব্যাখ্যা:

6L          # Create the list [1,2,3,4,5,6]
  Ω         # Get a random choice from this list
   i        # If it is 1:
    F       #  Do a ranged loop, which currently results in a "(RuntimeError) Could not
            #  convert  to integer." error when no argument is given
   ë        # Else:
    IЖd!  #  Push dictionary string "I survived!" (which is output implicitly as result)

আমার এই 05AB1E টিপটি দেখুন (অভিধানটি কীভাবে ব্যবহার করবেন? ) কেন “IЖd!তা বোঝার জন্য "I survived!"


দেখে মনে হচ্ছে 5ÝΩz“IЖd!কাজ করা উচিত তবে দৃশ্যত 1 / 0 = 0
ম্যাজিক অক্টোপাস উরন

1
@ ম্যাজিক অ্যাক্টপাস ইউরান হ্যাঁ, 05 এএফ 1 ই প্রায়শই ত্রুটি হয় না .. সুন্দর পুরানো বিল্টিন ছাড়াও .0যেটি 05 এবি 1 ই এর পুরানো সংস্করণে এসটিডিআরআর দ্বারা 0 টি ত্রুটি দ্বারা বিভাজন নিক্ষেপ করত, আমি এমনকি লিবিসি 05AB1E এ কীভাবে ভুল করতে হবে তাও জানি না । নতুন সংস্করণে এখনও বেশ কয়েকটি ত্রুটি রয়েছে, যা আমি এখানে আমার সুযোগটি নিয়েছি। ;)
কেভিন ক্রুইজসেন

1
আমি পুরানো কথাটি মিস করি .0, একাধিক অনুষ্ঠানে এটি কাউকে "ওয়াট ... কেন আদেশ হ'ল?"
ম্যাজিক অক্টোপাস উরন

11

পিএইচপি 38 বাইট

<?~$$s[rand(+$s=sssss,5)]?>I survived!

একটি +সংখ্যাসূচক স্ট্রিংয়ের আগে একটি স্থাপন করা মূল্যায়ন করবে 0। করা উচিত rand(0,5)আসতে 5, $s[rand(0,5)]খালি স্ট্রিং হতে হবে (যেহেতু $sমাত্র পাঁচ অক্ষর দীর্ঘ), এবং পরবর্তীকালে $$s[rand(0,5)]একটি uninitialized পরিবর্তনশীল হবে। বিপর্যয় নেওয়ার চেষ্টাটি অসমর্থিত অপেরাড প্রকারটিতে থামবে। অন্য কোনও মান, 0-4ফিরে আসবে s, এবং $sসংজ্ঞায়িত হওয়ার কারণে , আপনি বেঁচে থাকবেন।

দ্রষ্টব্য: পিএইচপি সংস্করণ ৪.২.০ হিসাবে, এলোমেলো সংখ্যা জেনারেটর স্বয়ংক্রিয়ভাবে বদ্ধ হয়


6

আর 30

"I survived!"[6*runif(1)<5||Z]

ছয়টির মধ্যে একবারে এটি একটি ত্রুটি ছুঁড়ে দেবে: Error: object 'Z' not found


6

রুবি, 24-28

p rand(6)<5?"I survived!":1/0

প্রায় প্রতি 6 বার, সেখানে একটি ZeroDivisionError

24 টি অক্ষর সহ একটি সংক্ষিপ্ত সংস্করণ রয়েছে (ইউগ্রেন এবং হিস্টোক্র্যাটকে ধন্যবাদ):

6/rand(6);p"I survived!"

আপনি যদি "আউটপুটটি গ্রহণ না করেন তবে আমার আরও 3 টি অক্ষর প্রয়োজন। প্রথম বিকল্পটি ( puts) একটি নতুন লাইন যুক্ত করে, দ্বিতীয় ( $><<) কোনও নতুন লাইন করে না:

6/rand(6);puts"I survived!"
6/rand(6);$><<"I survived!"

একটি নেই তাই এ রুবি র্যান্ডম সংখ্যা সম্পর্কে প্রশ্ন । বীজটি srandস্বয়ংক্রিয়ভাবে বীজটিকে বর্তমান সময়ের থেকে উপস্থিত হওয়ার সাথে সাথে ডাকা হয় যদি এটি ইতিমধ্যে না বলা হয়। ( জুলিয়ানদের মন্তব্য দেখুন )


যে সমাধানগুলি শূন্য দ্বারা বিভাজনের উপর নির্ভর করে না তাদের অতিরিক্ত বোনাস দেওয়ার জন্য প্রিমোর ধারণা ছিল ।

আমার প্রথম সমাধানটি একটি দিয়ে ছোট করা যেতে পারে (২৮ টি অক্ষর) undefined local variable or method ``a' for main:Object (NameError)

p rand(6)<5?"I survived!":a

এমনকি আরও ছোট হতে পারে 6/rand(6)
ugoren

রুবি কি স্বয়ংক্রিয়ভাবে তার আরএনজি বীজ করে?
বনাম

আপনি নিয়ন্ত্রণ প্রবাহ অপসারণ করে আরও তিনটি অক্ষর ছাঁটাতে পারেন:1/rand(6);p "I survived!"
হিস্টোক্র্যাট

@ ইউগোরেন / হিস্টোক্র্যাট আপনার ইঙ্গিতগুলির জন্য ধন্যবাদ, আমি আমার সমাধানটি মানিয়ে নিয়েছি।
নট

আপনার জন্য অন্য একটি বাইট: pএবং এর মধ্যে কোনও সাদা স্থানের প্রয়োজন নেই "I survived!"। আমার গণনা অনুসারে, এটি কেবল 24 বাইট।
প্রিমো

6

ডায়ালগ এপিএল - 25 22 21 20 চর্যাচটারগুলি

'I Survived!'⊣1÷6⊤?6

DOMAIN ERRORশূন্য দ্বারা বিভাজনের কারণে ত্রুটি হিসাবে মুদ্রণ ।

শূন্যতম সমাধান দ্বারা সংক্ষিপ্ততম বিভাজনটি আমি 23 টি অক্ষর নিয়ে আসতে পারি।

('I Survived!'1)[~6⍷?6]

এটি একটি ছুড়ে INDEX ERROR

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

এপিএল ফন্ট এখানে


আমি এটি গ্রহণ করতে চাই, তবে এটি কাজ করবে বলে মনে হয় না। কয়েকবার এটি প্রিন্ট করে " I survived" তবে একবার মুদ্রণের পরে DOMAIN ERRORএটি কেবল এটি মুদ্রণ করতে থাকে। এমনকি যদি আমি সাইটটি সম্পূর্ণ পুনরায় লোড করি তবে এটি আর কখনও বেঁচে থাকবে না।
বনাম

@vsz কতটা অদ্ভুত ... এটি আমার ডায়ালগ এপিএল ডাব্লুএসে কাজ করে এবং আমার মনে হয় ট্রাইএপিএল দিয়ে এটি করা যখন আমার হয়ে গেল তখন। এটি এখনও আমার দোভাষীর উপর কাজ করে তবে ওয়েবসাইটে নয়। এই সাহায্য এমন: dl.dropbox.com/u/9086539/apl.png
MrZander

1
1÷0এটি DOMAIN ERRORডায়ালগের একটি তবে এনএনজি / এপিএল এটি । থেকে ফলাফলটি ?6১..6 যখন ⎕IO←1( ডায়ালগে ডিফল্ট) এবং ০.৫ হয় যখন ⎕IO←0(এনজিএন / এপিএলে কেবলমাত্র বিকল্প)। ডায়ালাগে, PRNG সেট করে বীজ দেওয়া যায় ⎕RL। প্রাথমিকভাবে এটির কিছু পূর্ব নির্ধারিত ডিফল্ট মান রয়েছে। যদি আপনি সেট করেন ⎕RL←0, পিআরএনজিটি OS দ্বারা মোটামুটি অনির্দেশ্য পুনরায় বীজযুক্ত হয়। TryAPL হয় Dyalog ব্যবহার করে এবং অবলম্বন পাওয়া ?ফাংশন
এনজিএন

1
এটি বেশ সম্ভব যে তখন কিছু পরিবর্তন হয়েছিল, আমরা মাঝে মধ্যে ট্রাইএপএল এর পিছনে সফ্টওয়্যার আপডেট করছি বা ওয়েবসাইটের বৈশিষ্ট্য নিয়ে পরীক্ষা করছি। আমি কি অনুমোদিত? যদি আমি আপনাকে বলি, আমি আপনাকে মেরে ফেলব ... ভাল, 1 ÷ 6 এর সম্ভাবনা সহ :)
ngn

1
: যাইহোক, এখানে একজন 18-অক্ষর সমাধান ⊣ ÷ ⍟ 6 'আমি বেঁচে!'?
ngn

5

পাইথন, 96

from ctypes import*
from random import*
randrange(5)or pointer(c_int())[9**9]
print'I survived!'

যদি randrange(5)0 প্রদান করে, তবে অধ্যায়টি ত্রুটির কারণে অজগর ক্রাশ হবে।


5

ভিবিএ, 27

?1/int(6*rnd),"I Survived!"

তাত্ক্ষণিক উইন্ডোতে ব্যবহৃত।
ব্যর্থতায়, উল্লেখ করে একটি ত্রুটি উইন্ডো:
শূন্য দ্বারা বিভাগ
উপস্থিত হয়


!পাঠ্যের মধ্যে মিস করছি ।
স্টেনস্লাগ

@ স্টেনস্লাগ, স্থির
সানসি

@ সানচেশায়ার আমি আপনার উত্তরের বিকল্প প্রস্তাব করেছি ।
গাফি

5

বেফুঞ্জ - 48 টি অক্ষর

 v >91+"!devi"v
/?>?<v"I surv"<
 / / :
   :,_@#

বেফুঞ্জের একমাত্র এলোমেলোতা হ'ল ?অপারেটর, যা আপনাকে চারটি 1/4সম্ভাব্য দিকনির্দেশ ( সুযোগ) এর একটিতে শিরোনাম প্রেরণ করে । একটি বা দুটি দিক অবরুদ্ধ করে আপনার কাছে সুযোগ 1/3বা 1/2সুযোগ রয়েছে এবং এগুলি সংযুক্ত করে আপনি 1/6প্রোগ্রামটি "জীবিত" থেকে বেরিয়ে আসার সুযোগ পান।

শূন্যের ভাগ করে প্রোগ্রামটি ক্র্যাশ হয়ে যায়। আমার ধারণা এটি বাস্তবায়ন-সুনির্দিষ্টভাবে কী ঘটবে (উইকিপিডিয়ায় এটি বলেছে যে প্রোগ্রামটির পছন্দসই উত্তর জিজ্ঞাসা করা উচিত), তবে befungee.py ক্র্যাশগুলির ধরণের বা ক্রোধে বেরিয়ে আসে:

$ for i in {1..6} ; do ./befungee.py roulette.befunge ; done
Error (1,2): integer division or modulo by zero
Error (3,2): integer division or modulo by zero
Error (1,2): integer division or modulo by zero
I survived!
Error (0,1): integer division or modulo by zero
I survived!

5

জে, 18

'I survived!'[q:?6

domain error0 অনুমান করার চেষ্টা করার সময় ব্যর্থ ।


জে তার আরএনজি স্বয়ংক্রিয়ভাবে বীজ দেয়?
বনাম

@vsz হ্যাঁ, সাথে ?। আপনি ?.স্থির বীজ জন্য ব্যবহার করতে পারেন ।
এলোমেলো

4

সি, 67 65 62 অক্ষর

rand()%8ন্যায্যতা হারায় না বিভাগ ক্র্যাশ করে t=0, 1 এবং 2 (পুনরায় চেষ্টা) এর জন্য সত্য দেয়, 3..7 (বেঁচে) এর জন্য মিথ্যা দেয়।
সম্পাদনা: পূর্ববর্তী সংস্করণটিতে একটি অস্থায়ী পরিবর্তনশীল ব্যবহৃত হয়েছিল, যা সম্পূর্ণ অপ্রয়োজনীয় হয়ে শেষ হয়েছিল। 2/(rand()%8)উভয় প্রয়োজনীয় শর্ত প্রয়োগ করে।

main(){
        for(srand(time(0));2/(rand()%8););
        puts("I survived!");
}

এটা করে. "অন্য কোনও আউটপুট অনুমোদিত নয়"
vsz

@vsz, একরকম এটি মিস করেছেন। তবে যাইহোক, জিসিসি / লিনাক্স সহ এটি কোনও কিছুই মুদ্রণ করে না। এছাড়াও, কঠোরভাবে মানকে মেনে চলা, এই প্রয়োজনীয়তা অসম্ভব, কারণ অপরিজ্ঞাত আচরণটি যে কোনও কিছু মুদ্রণ করতে পারে।
ugoren

@vsz, এখনই স্থির - কোনও ক্ষেত্রে অতিরিক্ত আউটপুট নেই। অপ্টিমাইজেশান এবং 2 টি অক্ষর আরও ছোট করে কাজ করে।
ugoren

4

টি-এসকিউএল 56 44 40 + 6

 if 1/cast(ceiling(rand()*6)-1as int)<2print'I Survived!'

ক্রেডিট শন চ্যাশায়ারকে অপ্রয়োজনীয় হিসাবে ডাকে কাস্ট করার জন্য

 if 1/ceiling(rand()*6-1)<2print'I Survived!'

সান চ্যাশায়ারের সিলিং মেঝেতে পরিবর্তনের পরামর্শের জন্য ব্যক্তিগত বার্তা personal

 if 1/floor(rand()*6)<1print'I Survived!'

মৃত্যু ত্রুটি এমএসজি: এমএসজি 8134, স্তর 16, রাজ্য 1, লাইন 3 ভাগ করে শূন্য ত্রুটি দেখা দিয়েছে।


1
-1এবং ceilingপ্রয়োজন হয় না। castকেটে যাবে
সানসি

ইউনিফর্ম বিতরণের প্রয়োজনীয়তা লঙ্ঘন না করে সিলিং অপসারণ করা যেতে পারে কিনা তা আমি পরীক্ষা করছি, ডক্স বলছে যে র্যান্ড () 1 থেকে 1 এর মধ্যে ভাসমান মান দেয়
ফ্রিওয়ারি

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

আমি সন্দেহ করি আপনি এই স্ক্রিপ্টটি 20 বারের বেশি পরীক্ষা করেছেন। এটি সর্বদা প্রত্যাশিত ফলাফলটি ফেরত দেয় না। 6 এর মধ্যে 1 এটি ব্যর্থ হবে এবং কোনও আউটপুট ফেরত দেবে না। এই বাক্য
গঠনটি

3

জাভাস্ক্রিপ্ট, 42

(Math.random()*6|0)?alert('i survived!'):b

বিটওয়াইস বা মেঝেগুলি গুণনের ফলাফলকে এভাবে 0 এবং 5 ফলাফলের মধ্যে একটি মান। 0 জড়িতভাবে মিথ্যা হিসাবে জড়িত হয়, সুতরাং 6 টির মধ্যে 5 ক্ষেত্রে সতর্কতাটি appears ষ্ঠ ক্ষেত্রে একটি নির্দিষ্ট bউল্লেখ করা হয়, প্রক্রিয়া ক্র্যাশ হয় appears


3

শূন্য পদ্ধতি দ্বারা সাধারণ বিভাজন ব্যবহার:

পার্ল 5.8 সংস্করণ

1/(int rand 6)&&print "I survived!"

পার্ল 5.10 সংস্করণ

1/(int rand 6)&&say "I survived!"

ব্যর্থতায়, এগুলি প্রদর্শিত হবে:

Illegal division by zero at -e line 1.

পার্লে অবজেক্ট তৈরি করার জন্য দোয়া করা ফাংশন ব্যবহার করা।

পার্ল 5.8 সংস্করণ

print (int rand 6?"I survived!":bless me);

পার্ল 5.10 সংস্করণ

say (int rand 6?"I survived!":bless me);

ব্যর্থতায়, এগুলি প্রদর্শিত হবে:

Can't bless non-reference value at -e line 1.

3
কয়েকটি পরামর্শ: বন্ধনী, যৌক্তিক &&এবং অতিরিক্ত স্থান থেকে মুক্তি পান । অবিচ্ছেদ্য মান বল প্রয়োগ করার ~~পরিবর্তে ব্যবহার করুন int। ফলাফলটি হ'ল:1/~~rand 6;print"I survived!"
আর্দনিউ

3

গল্ফস্ক্রিপ্ট, 21 টি অক্ষর

,6rand/;'I survived!'

বেশিরভাগ উত্তরের মতো, এই জিরো ডিভিশনআরারের সাথে ক্র্যাশ হওয়ার ছয়টি সম্ভাবনা রয়েছে। শূন্য দ্বারা বিভাগ না ব্যবহার করে আমি যে সংক্ষিপ্ততম সমাধানটি পরিচালনা করতে পারি তা হল 23 টি অক্ষর:

5,6rand=+;'I survived!'

যার সাথে ক্র্যাশ হওয়ার 1/6 সুযোগ রয়েছে undefined method `+' for nil:NilClass (NoMethodError)

(গীত। এটির বিকাশকালে, আমি খুঁজে পেলাম যে গল্ফস্ক্রিপ্ট ইন্টারপ্রেটারে বাগ কী থাকতে পারে: কোডের মতো স্ট্যাকের মধ্যে 0,1>একটি nilমান রেখে যায় যা পরে যদি প্রোগ্রামটি ক্র্যাশ করে তবে আপনি যদি পপ বন্ধ না করে সেই মানটি দিয়ে কিছু করার চেষ্টা করেন এবং এটিকে ফেলে দিন ;Unfortunately দুর্ভাগ্যক্রমে, সত্য যে ক্রাশটি ট্রিগার করার জন্য আমার কোনওরকম মানটি ব্যবহার করা দরকার তার অর্থ এই বাগটি ব্যবহার করা এমনকি আমার 23 অক্ষরের নিচে যেতে সহায়তা করে নি))


এটি অবশ্যই বাগের মতো মনে হচ্ছে। স্ট্যাকের উপর 5,5>পাতা [], যা সম্ভবত এটি করা উচিত, তবে 4,5>পাতা nil। যদি আপনি এটি অপসারণ না করেন, দোভাষীটি এটি আউটপুট দেওয়ার চেষ্টা করার সময় ক্র্যাশ হয়ে যাবে। একটি আকর্ষণীয় পার্শ্ব-প্রতিক্রিয়া হ'ল এটি 4,6rand>+;'I survived!'একটি কার্যকর সমাধান হয়ে যায়। কারও কাছে সম্ভবত ফ্ল্যাগিটিয়াসকে অবহিত করা উচিত।
primo

1
আমি এটি প্রতিবেদন করেছি এবং গল্ফস্ক্রিপ্ট দোভাষী এর সর্বশেষতম সংস্করণে এটি ঠিক করা হয়েছে (আমি আরও একটি বাগ সহ আমি হোঁচট খেয়েছি)।
ইলমারি করোনেন

3

পাইথন, 70 টি অক্ষর

গ্রিসির উত্তর থেকে অনুপ্রেরণা।

from random import*
if randrange(5)<1:exec'()'*9**5
print'I survived!'

র‌্যাংরেঞ্জ (5) 0 এবং 5 এর মধ্যে একটি মান দেয়
it


3

পিএইচপি - 30 বাইট

<?rand(0,5)?:~[]?>I survived!

সংক্ষিপ্ত অ্যারে সিনট্যাক্সের জন্য পিএইচপি 5.4+ প্রয়োজন, অবৈধ অপারেটর ধারণাটি @ প্রিমো থেকে নির্লজ্জভাবে চুরি হয়েছে।

যেমন বলা হয়েছে, rand()স্বয়ংক্রিয়ভাবে প্রথম ব্যবহারে বীজযুক্ত হয়


শূন্য দ্বারা বিভাগ থামবে না, এটি কেবল একটি সতর্কতা তৈরি করে, পাশাপাশি 'আমি বেঁচে গেছি!' লেখাটিও পাঠায়। এছাড়াও, rand()%6হিসাবে অভিন্ন বিতরণ নয় 32768 = 2 (mod 6)। যাইহোক, rand(0,5)||~$a30 বাইটের জন্য, এবং অতিরিক্তভাবে সমস্ত পিএইচপি সংস্করণগুলি নিয়ে কাজ করবে (একটি ত্রৈমাসিকের দ্বিতীয় প্রকাশটি কেবল 5.3.0+ এ alচ্ছিক)।
প্রিমো

@ প্রিমো অনুমান আমি যখন কেবল শূন্য এক দ্বারা বিভাজন পরীক্ষা করছিলাম তখন আমি কেবল স্ট্যাকের সন্ধানের সন্ধান করছিলাম, এটি এখনও মুদ্রিত নয়। আমি জানি যে ত্রৈমাসিক সংক্ষিপ্তকরণটি 5.3+, কিন্তু আমার সত্যিকারের পুরানো সংস্করণ সমর্থন করার কোনও আগ্রহ নেই :)
লেইস

আমি এর সাথে একমত এই সময়ে 5.3 এরও কম ব্যবহার চালিয়ে যাওয়ার জন্য কোনও বৈধ যুক্তি নেই। 5.4, ​​আমি এখনও একটি দ্বি-সংখ্যার পুনর্বিবেচনার নম্বরটি ধরে রেখেছি।
প্রাইমো

1
আমি 29 বাইট গণনা।
তিতাস

3

বেফুঞ্জ, 38

v>25*"!devivrus I",,,,,,,,,,,@
?^
v
?^
<1

অনেকটাই অকপট. স্ট্যাকের উপর দিয়ে 1 সেকেলে চাপ না দিয়ে ক্রাশিং করা হয় যতক্ষণ না এটি উপচে পড়ে। আমি সেই 11 টি কমাগুলি কাটাতে এবং কিছু মুদ্রণের জন্য তাদের আরও কিছু দক্ষ লুপ দিয়ে প্রতিস্থাপনের জন্য কয়েকটি প্রচেষ্টা করেছি, তবে এটি 11 টি অক্ষরের অধীনে পাওয়া যায়নি।

নোট করুন যে বেফুঞ্জে অক্ষর গণনা করা কিছুটা জটিল ... উদাহরণস্বরূপ তৃতীয় লাইনে কেবল একটি অক্ষর রয়েছে তবে আমি সেখানে একটি অতিরিক্ত গুনছি কারণ মৃত্যুদন্ড কার্যকর করা যায় না that


আমি বিশ্বাস করি যে এটি আমি কোনও প্রোগ্রামে দেখেছি এমন পরপর কমা রেকর্ড।
জো জে।

এবং তারপরে আমি কীভাবে বেফুঞ্জ আসলে কাজ করে এবং আমার মুখটি তালুতে দেখি।
জো জে।

2

সিএমডি শেল (উইন এক্সপি বা তার পরে), 40 +6

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

set/a1/(%RANDOM% %% 6)&&echo I Survived!

ব্যর্থতায়, এটি মুদ্রণ করবে

শূন্য ত্রুটি দ্বারা ভাগ করুন।


2

আর, 50 44 42 36

ifelse(!is.na(sample(c(NA,1:5),1)),'I Survived!',)

ifelse(floor(runif(1,0,5))>0,'I Survived!',)

ifelse(floor(runif(1,0,5)),'I Survived!',)

ifelse(sample(0:5,1),'I Survived!',)

মৃত্যু ত্রুটির বার্তা:

ইফলে ত্রুটি (! Is.na (1 / নমুনা (সি (এনএ, 1: 5), 1))), "আমি বেঁচে গেছি!",): কোনও ডিফল্ট ছাড়াই আর্গুমেন্ট "না" অনুপস্থিত


আমি আর চেষ্টা করেছিলাম, এবং এটি ব্যর্থ হতে পারি না - if(1/0)"I Survived!"এখনও মুদ্রিত আমি বেঁচে গিয়েছিলাম
SeanC

অন্যান্য ভাষার মতো নয়, আর 1/0 কে গণিতের ত্রুটি হিসাবে বিবেচনা করে এবং সম্পাদন বন্ধ করে না, এটি কেবল 1/0 এর জন্য ফি প্রদান করে। আমি মনে করি @vsz এই রাউন্ডের জন্য একটি ব্রেকিং ত্রুটি চায়। তবে ধরা যাক বনাম এনএকে মৃত্যুর ত্রুটি হিসাবে গণনা করেছে, আমি আমার প্রোগ্রামটি 41 টি অক্ষরে নামিয়ে আনতে পারি: ইফেলস (নমুনা (সি (এনএ, 1: 5), 1), 'আমি বেঁচে গেছি',)
ফ্রিয়ারি

2

ইমাস-লিস্প, 42 টি অক্ষর

(if (= (random 6) 5) 
    z (message "I survived!")
    )

2

জাভাস্ক্রিপ্ট, 40 টি অক্ষর

জাভাস্ক্রিপ্টে বিভাজন দ্বারা শূন্য কৌশলটিও কাজ করে না: এটি কেবল ইনফিনিটি ফিরিয়ে দেয়। অতএব, একটি বিদ্যমান বিদ্যমান ভেরিয়েবল রেফারেন্স:

alert(6*Math.random()|0?"I survived!":f)

এত ছোট নয়, মজাদার হলেও :)



2

টিআই-বেসিক (টিআই -৪৮ + / এসই), ৩ by বাইট

startTmr→rand:1/(1<randInt(1,6:"I survived!

চ্যালেঞ্জটি নির্দিষ্ট করে বলে কোনও ইনপুট নেই।
আউটপুট I survived!যদি সফল হয় তবে DIVIDE BY 0অন্যথায় ত্রুটি।

DIVIDE BY 0নিচের মত ত্রুটি পর্দা দেখায়:

ERR:DIVIDE BY 0
1:Quit
2:Goto

যে কোনও বিকল্প নির্বাচন করা (এবং 2নির্বাচিত হলে হোম স্ক্রিনে ফিরে যাওয়া ) Errorপ্রোগ্রামের কলের পরে দেখায় ।

উদাহরণ:

prgmCDGFE
           Error
prgmCDGFE
I survived!
prgmCDGFE
I survived!
prgmCDGFE
           Error

ব্যাখ্যা:

startTmr→rand:1/(1<randInt(1,6:"I survived!   ;full program

startTmr→rand                                 ;store the current time into "rand"
                                              ; this is necessary because "rand" is 0 after
                                              ; factory reset, the default state for TI-BASIC
                                              ; submissions
                   randInt(1,6                ;get a random integer in [1,6]
                 1<                           ;is greater than 1?  1 if true, 0 if false
              1/(                             ;divide 1 by the result
                                              ; throws "DIVIDE BY 0" error if result was
                                              ; false
                               "I survived!   ;leave this string in "Ans"
                                              ;implicitly print "Ans"

নোট:

  • টিআই-বেসিক একটি টোকেনাইজড ভাষা। বাইট গণনা চরিত্রের গণনার সমান হয় না

  • ছোট হাতের অক্ষর প্রতিটি দুটি বাইট হয়।

    • ছোট হাতের অক্ষরগুলি এই সমাবেশ প্রোগ্রামটি ব্যবহার করে সক্ষম করা যেতে পারে ।
  • startTmrকেবলমাত্র টিআই -৪৮ + এবং টিআই -৪৪ + এসই ক্যালকুলেটরগুলিতে একটি কমান্ড। বলেছেন ক্যালকুলেটরগুলির বিভিন্ন অপারেটিং সিস্টেম রয়েছে।


2

পাইথন, 53 বাইট

এখানে পরিসর প্রোগ্রামের বাইরে একটি সংক্ষিপ্ত 53 বাইট পাইথন সূচক রয়েছে:

import time
[0][time.time()%6<1]
print("I survived!")

হাই এবং স্বাগতম। দয়া করে মনে রাখবেন যে এই চ্যালেঞ্জের নিয়মগুলিতে, এটিতে বলা হয়েছে "এমওড 6 যথেষ্ট হবে না।" যদিও আমি পাইথনের সাথে পরিচিত নই, আমার কাছে দেখে মনে হচ্ছে আপনি এখানে মডুলো ব্যবহার করছেন।
শন বেবারস

1
@ শানবিবার্সের উক্তিটি "এটির অর্থ একটি অবিচ্ছিন্ন ভেরিয়েবল (বা বীজবিহীন আরএনজি) এমওড 6 যথেষ্ট হবে না," তবে এই মেটা পোস্টে বলা হয়েছে যে বর্তমান সময়ের মডুলো কোড-গল্ফের জন্য পিআরএনজির পক্ষে যথেষ্ট
স্টিফেন

আমার ভুল বোঝাবুঝি তখন।
শন বেবারস

1

জাভা, 149

public class R{public static void main(String[]s){int[]a={1,1,1,1,1};System.out.println(a[new java.util.Random().nextInt(7)]>0?"I survived!":"");}}

"সীমা ছাড়াই অ্যারে" ত্রুটি নিয়ে ব্যর্থ হয়। বেনাম র্যান্ডম অবজেক্ট (কোনও আমদানি নয়) ব্যবহার করে কয়েকটি অক্ষর শেভ করার ব্যবস্থা করা।


1

গ্রোভি, 39

1/new Random().next(6);print"I survived!"

অন্তর্ভুক্ত সহ 0 এবং 5 এর মধ্যে একটি এলোমেলো সংখ্যা চয়ন করে। যদি 0, শূন্য ব্যতিক্রম দ্বারা একটি বিভাজক নিক্ষেপ করে।


1

পাইথন (56), হাস্কেল (77)

উত্পাদিত সংখ্যাটি 1: যখন এটি একটি সূচিপত্রের সাথে ক্র্যাশ হয়:

র্যান্ডম আমদানি থেকে
মুদ্রণ করুন ['আমি বেঁচে গেছি!'] [1 / র্যান্ডিন্ট (1,7)]

হাস্কেল দ্রবণটির একই ধারণা রয়েছে:

আমদানি সিস্টেম.র্যান্ডম
প্রধান = putStrLn। (["আমি বেঁচে গেছি!"] !!)। ডিভ 1 = << র্যান্ডমআরআইও (1,6)

1

পাইথন, 59 55 53, 65 59 56

import os
1/(ord(os.urandom(1))%6)
print"I survived!"

ZeroDivisionErrorord(os.urandom(1))%60 এ মূল্যায়ন যখন

import os
print(["I survived!"]*5)[ord(os.urandom(1))%6]

IndexErrorord(os.urandom(1))%65 যখন মূল্যায়ন


আমদানি পরিবর্তন করে 5 টি অক্ষর সংরক্ষণ করুন: import random as rতারপরে ব্যবহার করুনr.randint
স্টিভেন রাম্বালস্কি

1
বা 8 টি অক্ষরকে আমদানি করে পরিবর্তিত করে সংরক্ষণ করুন import os, তারপরে ord(os.urandom(1))%6আপনার এলোমেলো int হিসাবে ব্যবহার করুন।
স্টিভেন রাম্বালস্কি

পরে স্থানটি সরিয়ে 1 অক্ষর সংরক্ষণ করুন print
স্টিভেন রাম্বালস্কি

1

ভিবিএ - 39/46

আমি শন চ্যাশায়ারের সংখ্যার আউটপুট পছন্দ করি না (যদিও এটি এখনও একটি ভাল উত্তর, এটি প্রযুক্তিগতভাবে ফটোগুলি No input, and no other outputs are allowed.থেকে ব্যর্থ হয় ...), এবং তিনি ব্যবহার করেন /0, তাই আমার বিকল্পগুলি এখানে:

?Mid("I Survived!",IIf(Int(6*Rnd),1,0))

Run-time error '5': Invalid procedureঅক্ষর 0 এ পৌঁছানোর চেষ্টা করার সময় এটির সমাধান হয় (ভিবিএ 1-ভিত্তিক সূচক)।

n="I Survived!":If Int(6*Rnd) Then ?n Else ?-n

Run-time error '13': Type mismatchস্ট্রিংয়ে নেতিবাচক সুইচ প্রয়োগ করার সময় এটির সমাধান হয় ।


1

জাপট ভি 1.4.5, 16 বাইট

6ö
ªí
`I s¨viv!

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

-1 বাইট @ শ্যাগিকে ধন্যবাদ!

ছোঁড়ার TypeError: U.í is not a functionসীমার মধ্যে একটি র্যান্ডম সংখ্যা যখন [0,6)হয় 0



প্রকৃতপক্ষে, এটির জন্য v1.4.5 ব্যবহার করার ধারণা হতে পারে, যদি ETH N.í()v1.4.6 এ কোনও পদ্ধতি যুক্ত করে।
শেগি

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

হ্যাঁ, N.í()একটি ত্রুটি নিক্ষেপের জন্য আমার "যান" (এটি আগে ব্যবহৃত হত N.y())। ত্রুটি পাওয়ার আরও কয়েকটি উপায় রয়েছে তবে সেগুলি খুব কমই কার্যকর।
শেগি

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