বড় ভাইয়ের উদ্ধৃতি


16

কার্য: আপনার প্রোগ্রামটি রানটাইমে নিম্নলিখিত দুটি উদ্ধৃতিগুলির মধ্যে এলোমেলোভাবে চয়ন করুন এবং ঠিক সেইরকম একটি উদ্ধৃতিটি মুদ্রণ করুন।

1:

Under the spreading chestnut tree
I sold you and you sold me.
There lie they, and here lie we
Under the spreading chestnut tree.

2:

WAR IS PEACE.
FREEDOM IS SLAVERY.
IGNORANCE IS STRENGTH.

সীমাবদ্ধতা: শব্দ spreading, chestnut, PEACE, FREEDOM, এবং STRENGTH উচিত আপনার কোড প্রদর্শিত হয়। উপরের দুটি উক্তিটির কোনও শব্দই আপনার কোডে একাধিকবার উপস্থিত হতে পারে না ।

সংক্ষিপ্ত সমাধান জিতেছে।


1
ঠিক আছে আমি প্রথম পছন্দ। সৎ! xkcd.com/221
edc65


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

@ edc65 আহ আমি দেখছি, শব্দটি আলাদা ছিল।
মার্টিন ইন্ডার

উত্তর:


3

পিএইচপি 179

Es1024 এর উত্তর দ্বারা অনুপ্রাণিত ।

<?=strtr(rand()%2?"0
I 1 232 1 me.
T5 they,35 we
0.
":"WAR4PEACE.
FREEDOM4SLAVERY.
IGNORANCE4STRENGTH.
",["Under the spreading chestnut tree",sold,you," and "," IS ","here lie"]);

4

পার্ল ( 191 184 টি অক্ষর)

$_=$$&1?"0
I12321me6T4they,34we
06":"WAR5PEACE6FREEDOM5SLAVERY6IGNORANCE5STRENGTH6";s/\d/("Under the spreading chestnut tree"," sold ",you," and ","here lie "," IS ",".
")[$&]/ge;print

এটি গল্ফ করার টিপসের জন্য @ কোর 1024 ধন্যবাদ।


1
আপনি প্রকৃত নতুন লাইনের সাথে 6 টি প্রতিস্থাপন করতে পারেন, চারপাশে কোটগুলি ফেলে দিন "you"এবং $$&1এলোমেলো জেনারেটর হিসাবে ব্যবহার করতে পারেন :)
কোর 1024

3

জাভা, 338

আমি এটি 338 এর নিচে পেতে পারি না ...

class B{public static void main(String[]a){String b="Under the spreading chestnut tree",c="sold ",d="you ",e="and ",f="me.\nT",g="here lie ",h=".\n",i=" IS ";if(Math.random()>.5)System.out.print(b+"\nI "+c+d+e+d+c+f+g+"they, "+e+g+"we\n"+b+h);else System.out.print("WAR"+i+"PEACE"+h+"FREEDOM"+i+"SLAVERY"+h+"IGNORANCE"+i+"STRENGTH"+h);}}

বিট অবরুদ্ধ:

class B{public static void main(String[]a){String b="Under the spreading chestnut tree",c="sold ",d="you ",e="and ",f="me.\nT",g="here lie ",h=".\n",i=" IS ";
if(Math.random()>.5)System.out.print(b+"\nI "+c+d+e+d+c+f+g+"they, "+e+g+"we\n"+b+h);
else System.out.print("WAR"+i+"PEACE"+h+"FREEDOM"+i+"SLAVERY"+h+"IGNORANCE"+i+"STRENGTH"+h);}}


লিঙ্কের জন্য ধন্যবাদ! আগামীকাল দরকারী কিছু অনুসন্ধান করবে।
কুলউইলি

@ ফাবিনআউট আমি কয়েকটি কৌশল চেষ্টা করেছি, কিন্তু তারা সাহায্য করেনি। ( java.io.PrintStream p=System.out, মোট 15 বাইট static<T>void p(T o){System.out.print(o);}যোগ, 12 যোগ করা)। অন্য কোন পরামর্শ?
কুলউইলি

একটি প্রধান ঘোষণার পরিবর্তে স্ট্যাটিক ব্লক ব্যবহার করুন
ফেবিনআউট

স্ট্যাটিক ব্লক * 310 CHAR *: ক্লাস বি {স্ট্যাটিক {স্ট্রিং বি = "ছড়িয়ে পড়া চেস্টনট গাছের নীচে", সি = "বিক্রি", ডি = "আপনি", ই = "এবং", এফ = "আমি। \ nT", g = "এখানে মিথ্যা", এইচ = "। \ n", i = "আইএস"; যদি (ম্যাথআরন্ডম ()> 5) সিস্টেম.আউট.প্রিন্ট (বি + "\ nI" + সি + ডি + ই + ডি + সি + এফ + জি + "তারা," + ই + জি + "আমরা \ n" + বি + এইচ); অন্য সিস্টেম.আউট.প্রিন্ট ("ওয়ার" + আই + "পিসি" + এইচ + "ফ্রেডম" + আই + "স্লেভারি "+ এইচ +" আইজিএনওরেন্স "+ আই +"
স্ট্রেনজিটিএইচ

2

জাভাস্ক্রিপ্ট 229 254 256

new Date@ ডুরকনব দ্বারা প্রস্তাবিত হিসাবে 1 ব্যবহার করে সম্পাদনা করুন - জাভাস্ক্রিপ্ট তারিখগুলি মোড়ফকে স্ট্রিং বা পূর্ণসংখ্যা বা যা কিছু হোক না কেন তা এখনও আমার কাছে অস্পষ্ট still

সম্পাদনা 2 সরল। অনেক.

t=(new Date&1
   ?'0WAR0 IS 0PEACE0.\n0FREEDOM020SLAVERY040IGNORANCE020STRENGTH.'
   :'0Under the spreading chestnut tree0\nI 0sold 0you 0and 04030me.\nT0here lie 0they, 05090we\n010.'
  ).split(0);
for(i=o='';j=t[++i];)o+=t[j|0||i];alert(o)

new Dateএর চেয়ে সংক্ষিপ্তDate.now()
ডুরকনব

1
Dateরূপান্তরটি ব্যাখ্যা করতে : > জাভাস্ক্রিপ্ট তারিখটি এমন এক সময়ের মানের উপর ভিত্তি করে যা 01 জানুয়ারী, 1970 ইউটিসি মধ্যরাত থেকে মিলিসেকেন্ড। একটি দিন 86,400,000 মিলিসেকেন্ড ধারণ করে। জাভাস্ক্রিপ্ট তারিখ অবজেক্টের পরিসীমা -১০,০০,০০,০০০ দিন থেকে ১০,০০,০০,০০০ দিন পর্যন্ত 01 জানুয়ারী ইউটিসি সম্পর্কিত। , আপনি যখন &এটি স্বয়ংক্রিয়ভাবে একটি এ castালাই Number। সুতরাং আপনি মূলত এলোমেলোভাবে পছন্দটি তৈরি করছেন যা 1970-01-01T00:00:00.000Zযুগের পর থেকে এটি একটি সম বা বিজোড় মিলসেকেন্ড।
বব

@Doorknob আপনি যে খাটো র্যান্ডম সংখ্যা উত্পাদক জন্য একটি সংক্ষিপ্ত প্রবন্ধে লিখতে পারে codegolf.stackexchange.com/questions/2682/... এখনো সেখানে কি দেখেনি যে, এবং আমি মনে করি এটা বেশ উপযোগী হতে পারে।
flawr


2

সি # (268) (260) (256)

লিনকপ্যাডে এই Dump()পদ্ধতিটি ব্যবহার করে কার্যকর করা যায় :

string b="Under the spreading chestnut tree",c="sold ",d="you ",e="and ",f="me.\nT",g="here lie ",h=" IS ";if(new Random().Next(9)>4)(b+"\nI "+c+d+e+d+c+f+g+"they, "+e+g+"we\n"+b+".").Dump();else("WAR"+h+"PEACE.\nFREEDOM"+h+"SLAVERY.\nIGNORANCE"+h+"STRENGTH.").Dump();

Ungolfed:

string b="Under the spreading chestnut tree",c="sold ",d="you ",e="and ",f="me.\nT",g="here lie ",h=" IS ";

if(new Random().Next(9)>4)
    (b+"\nI "+c+d+e+d+c+f+g+"they, "+e+g+"we\n"+b+".").Dump();
else
    ("WAR"+h+"PEACE.\nFREEDOM"+h+"SLAVERY.\nIGNORANCE"+h+"STRENGTH.").Dump();

হালনাগাদ:

টার্নারি অপারেটর এবং 1 অতিরিক্ত ভেরিয়েবল ব্যবহার করে আমি আরও 6 টি অক্ষর কাটাতে সক্ষম হয়েছি:

string a,b="Under the spreading chestnut tree",c="sold ",d="you ",e="and ",f="me.\nT",g="here lie ",h=" IS ";a=new Random().Next(9)>4?(b+"\nI "+c+d+e+d+c+f+g+"they, "+e+g+"we\n"+b+"."):("WAR"+h+"PEACE.\nFREEDOM"+h+"SLAVERY.\nIGNORANCE"+h+"STRENGTH.");a.Dump();

Ungolfed:

string a,b="Under the spreading chestnut tree",c="sold ",d="you ",e="and ",f="me.\nT",g="here lie ",h=" IS ";

a=new Random().Next(9)>4 ?
    (b+"\nI "+c+d+e+d+c+f+g+"they, "+e+g+"we\n"+b+".") :
    ("WAR"+h+"PEACE.\nFREEDOM"+h+"SLAVERY.\nIGNORANCE"+h+"STRENGTH.");

a.Dump();

Update2:

বুদ্ধিমান পরামর্শের জন্য ধন্যবাদ tsavinhoআমি টার্নারি অপারেশনের চারপাশে ব্রেস রেখে আরও 4 টি চর সংরক্ষণ করতে সক্ষম হয়েছি:

string b="Under the spreading chestnut tree",c="sold ",d="you ",e="and ",f="me.\nT",g="here lie ",h=" IS ";(new Random().Next(9)>4?(b+"\nI "+c+d+e+d+c+f+g+"they, "+e+g+"we\n"+b+"."):("WAR"+h+"PEACE.\nFREEDOM"+h+"SLAVERY.\nIGNORANCE"+h+"STRENGTH.")).Dump();

Ungolfed:

string b="Under the spreading chestnut tree",c="sold ",d="you ",e="and ",f="me.\nT",g="here lie ",h=" IS ";
(new Random().Next(9)>4?
    (b+"\nI "+c+d+e+d+c+f+g+"they, "+e+g+"we\n"+b+"."):
    ("WAR"+h+"PEACE.\nFREEDOM"+h+"SLAVERY.\nIGNORANCE"+h+"STRENGTH.")
).Dump();

1
আপনি এটিকে মুছে ফেলা এবং এটি বন্ধনীর সাথে প্রতিস্থাপন করে আরও 4 টি অক্ষর সংরক্ষণ করতে পারেন: স্ট্রিং বি = "ছড়িয়ে পড়া চেস্টনট গাছের নীচে", সি = "বিক্রি", ডি = "আপনি", ই = "এবং", এফ = "আমাকে । \ nT ", g =" এখানে মিথ্যা ", এইচ =" আইএস "; (নতুন এলোমেলো ()। পরবর্তী (9)> 4? (বি +" \ nI "+ সি + ডি + ই + ডি + সি + এফ + g + "তারা," + ই + জি + "আমরা। n" + বি + "।") :( "ওয়ার" + এইচ + "প্রশান্তি \ ডাম্প ();
tsavinho

1

পাইথন 3 - 228

for x in[b"AB:87078@624>049BA6",b"?;<61;=63;56"][id(id)%3-1]:print("and |FREEDOM|T|IGNORANCE|here lie |STRENGTH|.\n|you |sold |we|I | IS |PEACE|SLAVERY|they, |WAR|me|Under the spreading chestnut tree|\n".split("|")[x-48],end="")

সামান্য শৃঙ্খলাবদ্ধ:

# id(id) returns an even number based on memory address of id
# id(id)%3-1 gives -1, 0 or 1
randomNumber = id(id)%3-1

# Word list
words = "and |FREEDOM|T|IGNORANCE|here lie |STRENGTH|.\n|you |sold |we|I | IS |PEACE|SLAVERY|they, |WAR|me|Under the spreading chestnut tree|\n".split("|")

# Byte Literals for Under the chestnut and WAR IS PEACE
# each byte correspond to the word's index in the word list
byteLiterals = [b"AB:87078@624>049BA6", b"?;<61;=63;56"]
choice = byteLiterals[randomNumber]

for x in choice: 
    print(words[x-48], end="") # Print each word out

1

পাওয়ারশেল 205

("{0}.`nI{1}{2}{3}{2}{1} me.`nT{4}they,{3} {4}we`n{0}."-f"Under the spreading chestnut tree"," sold"," you"," and","here lie "),("WAR","PEACE.`nFREEDOM","SLAVERY.`nIGNORANCE","STRENGTH."-join" IS ")|Random

-fপ্রথম উদ্ধৃতিতে স্ট্রিং রাখতে অপারেটরটি ব্যবহার করে এবং দ্বিতীয়টি এতে যোগ হয় IS, তার পরে এটি সেই 2 টি উদ্ধৃতিগুলির একটি এলোমেলো উপাদান নির্বাচন করে এবং এটি মুদ্রণ করে ...



1

জাভাস্ক্রিপ্ট / jQuery 396

var B={
U:"Under the spreading chestnut tree",
s:"sold ",
y:"you ",
l:"lie ",
a:"and ",
i:"IS ",
b:"</br>"
};
var A={
P:B.U+B.b+"I "+B.s+B.y+B.a+B.y+B.s+"me."+B.b
+"There "+B.l+"they, "+B.a+"here "+B.l+"we."+B.b+B.U,
Q:"WAR "+B.i+"PEACE."+B.b+"FREEDOM "+B.i+"SLAVERY."+B.b
+"IGNORANCE "+B.i+"STRENGTH."
};
$(function(){
var z=(Math.random()<0.5)?A.P:A.Q; 
$('#d').append(z);
});

1

টি-এসকিউএল, 337 327

শুধু মজাদার জন্য, আমি টি-এসকিউএলে আরও একটি সমাধান করেছি, যা আমার জাভা 8 সমাধানের চেয়ে এক বাইট ছোট sh

DECLARE @b char(33)='Under the spreading chestnut tree',@c char(5)='sold',@d char(4)='you',@e char(4)='and',@f char(9)='here lie',@ char='
',@h char(4)=' IS'IF rand()>.5PRINT @b+@+'I '+@c+@d+@e+@d+@c+'me.'+@+'T'+@f+'they, '+@e+@f+'we'+@+@b+'.'ELSE PRINT'WAR'+@h+'PEACE.'+@+'FREEDOM'+@h+'SLAVERY.'+@+'IGNORANCE'+@h+'STRENGTH.'

এটিকে charখুব দীর্ঘ ঘোষণা করে আপনি কয়েকটি বাইট সংরক্ষণ করে একটি 'স্বয়ংক্রিয়' স্থান যোগ করতে পারেন।

ব্যবহারকারী PenutReaper দ্বারা প্রস্তাবিত সম্পাদনা কোড ব্যবহার করে, আপনি সত্যিই 10 বাইট বন্ধ শেভ করতে পারেন।


গাড়ীর রিটার্নের জন্য একটি ভেরিয়েবল ব্যবহার করা উপযুক্ত নয়। শুধু আক্ষরিক ব্যবহার করুন।
মুকো

1

জাভা স্ক্রিপ্ট (233)

Math.random()>0.5?(a="Under the spreading chestnut tree")+"\nI "+(s="sold")+(y=" you ")+(n="and")+y+s+" me.\nT"+(h="here ")+(l="lie ")+"they "+n+" "+h+l+"we\n"+a+".":["WAR","PEACE.\nFREEDOM","SLAVERY.\nIGNORANCE","STRENGTH."].join(" IS ")

অন্যান্য উত্তর না তাকিয়ে এটি লিখেছেন। অভিব্যক্তি হিসাবে অ্যাসাইনমেন্টের ভাল ব্যবহার করে।




0

সি (জিসিসি) , 307 289 271 270 বাইট

-৩ by বাইট সিলিংক্যাটকে ধন্যবাদ

*y=" IS ";main(){int*r[]={"WAR",y,"PEACE.\nFREEDOM",y,"SLAVERY.\nIGNORANCE",y,"STRENGTH.",0,"Under the spreading chestnut tree","\nI"," sold ","you"," and ",r[11],r[10],"me.\n","T","here lie ","they,",r[12],r[17],"we\n",r[8],".",0},z=r;for(z=z/2&8;r[z];)printf(r[z++]);}

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

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