100 টি অক্ষরের মধ্যে সর্বাধিক দরকারী প্রোগ্রাম তৈরি করুন [বন্ধ]


13

এই কার্যক্রমে, আপনি 100 টি অক্ষরের মধ্যে লিখতে পারেন এমন কিছু করার জন্য আপনাকে একটি কার্যকর প্রোগ্রাম তৈরি করার অনুমতি দেওয়া হয়েছে। আপনি কম অক্ষর ব্যবহার করার অনুমতি দেওয়া হয়, কিন্তু আরও না।

নিয়মাবলী, স্ট্যান্ডার্ড লুফোলগুলি থেকে রক্ষা করার জন্য যা আর মজার নয়:

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

  2. আপনার প্রোগ্রামটি যে ভাষায় লেখা হয়েছিল তার জন্য দোভাষী হতে পারে না However তবে, ব্রেনফাক ভাষাতে ব্রেইনফাক দোভাষী ভাল হবে।

  3. আপনার প্রোগ্রামটি বাহ্যিক প্রোগ্রামগুলি কার্যকর করতে পারে না যা আপনার প্রোগ্রামটি ঠিক যা করে। উদাহরণস্বরূপ, আপনি চালাতে পারবেন না vim, এবং দাবি করুন যে আপনার প্রোগ্রামটি vimবাস্তবায়ন করছে।

  4. আপনার প্রোগ্রামটি যে কম্পিউটারে চলছে এবং অন্যান্য কম্পিউটারগুলির জন্য তা বিপজ্জনক হতে পারে না। আপনাকে rmdir /যেমন প্রোগ্রাম লেখার অনুমতি নেই (উদাহরণস্বরূপ ইচ্ছাকৃতভাবে এটি কাজ করে না, এটি ঠিক করবেন না), এবং দাবি করুন যে এটি কম্পিউটারে সমস্ত ফাইল সরিয়ে ফেলার জন্য একটি কার্যকর প্রোগ্রাম।

  5. আপনার প্রোগ্রামটি আপনি যতটা চাই ধীর হতে পারে এবং আপনি যতটা সংস্থান চান ততক্ষণ ব্যবহার করতে পারেন, যতক্ষণ আপনি এটি প্রমাণ করতে পারবেন যে এটি করার অর্থ কি।

  6. এই কাজের জন্য আপনাকে বিশেষ করে ভাষা তৈরি করার অনুমতি নেই। তবে আপনাকে অন্য কিছু প্রোগ্রামিং ভাষায় আপনার উদ্ভাবিত ভাষার জন্য দোভাষী তৈরি করার অনুমতি দেওয়া হয়েছে।


আমি কি এই প্রতিযোগিতার জন্য একাধিক উত্তর পোস্ট করতে পারি?
ট্রুংডিকিউ

@ ট্রংডিকিউ: অবশ্যই
কনরাড বোরোস্কি

1
এটি আজ
অবধি

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

3
এই প্রশ্নটি কোড-গল্ফকে ক্যানিবলাইজ করছে। আকর্ষণীয় 100 টি চরিত্রের ধারণাগুলি দুর্দান্ত কোড-সোনার প্রশ্নগুলিতে পুনরায় জমা দিতে সক্ষম হওয়া উচিত। আমি উত্তরদাতাদের তাদের উত্তরগুলিকে নতুন প্রশ্নে পরিণত করতে কয়েক মিনিট ব্যয় করতে উত্সাহিত করব।
gnibbler

উত্তর:


26

সি - 47 বাইট

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

main(){srand(time(0));while(1)putchar(rand());}

যদি আপনি এটি প্রতিবার অন্য কোনও আউটপুট আউট করার বিষয়ে চিন্তা না করেন তবে আপনার কেবল 41 বাইট দরকার !

main(){srand(0);while(1)putchar(rand());}

পুরোপুরি সি 99 নয়, তবে এটি সহজেই সংকলন করে gcc.exe (GCC) 4.7.0 20111220

বিধি অনুযায়ী রাষ্ট্র

আপনার প্রোগ্রামটি আপনি যতটা চাই ধীর হতে পারে এবং আপনি যতটা সংস্থান চান ততক্ষণ ব্যবহার করতে পারেন, যতক্ষণ আপনি এটি প্রমাণ করতে পারবেন যে এটি করার অর্থ কি।

সমস্যা নেই.

কিছু জিনিস, এই প্রোগ্রাম আউটপুট হবে:

  • প্রতিটি সহস্রাব্দের সমস্যার সমাধান
  • আগামীকাল পত্রিকার নিবন্ধ
  • শেক্সপিয়ার এর সম্পূর্ণ কাজ (অবশ্যই)
  • তোমার অন্ধকার রহস্য
  • এই প্রশ্নের অন্যান্য সমস্ত উত্তর

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

ডেনিস নোট হিসাবে উল্লেখ করেছেন, অ্যালগরিদমের এলোমেলোতা rand()^rand()>>16পরিবর্তে কিছুটা ব্যবহার করে (চরিত্রের সীমাতে) কিছুটা উন্নত করা যেতে পারে rand()


10
অগত্যা। rand()এটি কেবলমাত্র সিউডোর্যান্ডম - এটি চারপাশে ঘুরে দেখার আগে কোনও কার্যকর পাঠ্য উত্পাদন করতে পারে না।
ব্যবহারকারী 12205

1
@ ডেনিস ভাগ্যক্রমে এখনও এই প্রশ্নের বিধি মধ্যে! :)
মার্টিন ইন্ডার

1
@ m.buettner: সঙ্গে glibc এর RAND () একটি অ্যারে হিসাবে আউটপুট দেখা হচ্ছে:, আপনার প্রোগ্রামের আউটপুট বাইট মধ্যে একটি সহজ বীজগাণিতিক সম্পর্ক নেই x, আপনার আছে x[i] == (x[i - 3] + x[i - 31] + c[i]) % 256, যেখানে c[i]সম্ভাব্যতা 0.75 এবং 1 সম্ভাব্যতা 0.25 দিয়ে 0। এটির বেশিরভাগ অর্থ হ'ল এটি আপনার উল্লেখ করা কোনও জিনিস উত্পন্ন করতে পারে না।
ডেনিস

1
@ এম.বুয়েটনার: এটি পিআরএনজিকে আরও ভাল করে তুলবে না, তবে আপনি rand()^rand()>>16সরল পরিবর্তে লিনিয়ারটি সরিয়ে ফেলতে পারেন rand()। আপনি যদি বাইটগুলিকে সঞ্চয় করার উপায়গুলি সন্ধান করেন তবে সরান intএবং %256
ডেনিস


18

বিবিসি বেসিক, ৮৪ টি চর

MODE 6:INPUT T,A,B,A$,B$:FOR X=0 TO 1279:A=A+EVAL(A$):B=B+EVAL(B$):DRAW X,A+500:NEXT

প্রথম এবং দ্বিতীয় অর্ডার ডিফারেনশিয়াল সমীকরণের সমাধানগুলি প্লট করে।

ব্যবহারকারী ইনপুট হিসাবে গ্রহণ করে:

Title (does nothing)
Start value for A (plotted value)
Start value for B (not plotted)
Expression for dA/dX
Expression for dB/dX

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

এখানে চিত্র বর্ণনা লিখুন


10

গণিত 76

এই প্রোগ্রামটি এমন একটি অ্যাপলেট তৈরি করে যা 240 দেশের যে কোনও একটির জন্য বিভিন্ন সম্পত্তি সম্পর্কিত তথ্য প্রদর্শন করে। এটি আফগানিস্তানের প্রাপ্তবয়স্ক জনসংখ্যা সম্পর্কে তথ্য সহ খোলে। ব্যবহারকারী ড্রপ-ডাউন তালিকার মাধ্যমে দেশ এবং সম্পত্তির সেটিংস পরিবর্তন করতে পারে।

ম্যাথমেটিকা ​​ওল্ফ্রামআল্ফার সাথে স্বচ্ছভাবে আন্তঃসংযোগ স্থাপন করে।
এই কারণে আমি বিশ্বাস করি যে সাবমিশনটি চ্যালেঞ্জের 1 টি প্রয়োজনীয়তার সাথে মিলবে: "আপনার প্রোগ্রামটি ইন্টারনেট না অ্যাক্সেস করতে পারে, যদি না এটি সত্যিই না করতে হয় "।

এই বরং পরিমিত অ্যাপলেটটি গাণিতিক ভাষায় বিদ্যমান কার্যকারিতাটি সহজভাবে ব্যবহার করে। একটি ছোট ভিডিও অ্যাপলেট সম্পর্কে কিছু অতিরিক্ত তথ্য সরবরাহ করে।

d = CountryData; Manipulate[WolframAlpha[p <> " " <> c], {p, d["Properties"]}, {c, d[]}]

আরম্ভ


নীচে দেশগুলির সাথে সম্পর্কিত 20 টি (223 টি) এর সম্পত্তি রয়েছে। অতিরিক্ত প্রোগ্রামিংয়ের মাধ্যমে কেউ দেশ সম্পর্কিত অতিরিক্ত তথ্য পেতে পারে এবং ম্যাথেমেটিকায় এই তথ্য বিশ্লেষণ করতে পারে।

CountryData["Properties"][[;; 20]]

Ad "অ্যাডাল্টপপুলেশন", "এগ্রিকালচারাল প্রডাক্টস", "এগ্রিকালচারালভ্যালুএডেড", "এয়ারপোর্টস", "অল্টারনেট নামস", "অল্টারনেটস স্ট্যান্ডার্ডনামস", "এমআরডিওস্টেশনস", "অ্যানুয়ালবার্থস", "অ্যানুয়ালডিথস", "বার্ষিক এইচআইডিএসডিথস", "আরেবলএলএকশন অঞ্চল "," বার্থেরেটফ্রাকশন "," বর্ডারিংকাউন্টেসি "," বর্ডারস্লেন্টস "," বাউন্ডারি লেন্থ "," কলিংকোড "," ক্যাপিটালসিটি "," ক্যাপিটাল লোকেশন "


আপনার প্রোগ্রামটি কীভাবে "ইন্টারনেট" অ্যাক্সেস করতে পারে তা আমি দেখতে পাই না। আপনার উপস্থাপন করা ডেটা পরিবর্তন করে না যে আপনাকে ঘন ঘন বাইরের উত্সের উপর নির্ভর করতে হবে।
shiona

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

1
-1 যদি আমি পারতাম - এটি কেবল প্রাক-বিদ্যমান পরিষেবা থেকে ডেটা স্ট্রাকচারটি মুগ্ধ করে।
l0b0

@ l0b0 আমি মনে করি আপনি এটি দেখতে পারেন। অথবা আপনি বলতে পারেন যে এটি ভাষার কার্যকারিতাটি শোষণ করে। সর্বোপরি, ওল্ফ্রামআল্ফাকে মাঠ থেকে নকশাকৃত করা হয়েছিল ম্যাথমেটিকার সাথে ঘনিষ্ঠভাবে আন্তঃসংযোগ স্থাপনের জন্য।
ডেভিডসি

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

9

ব্যাশ, 100 বাইট

head -c${1--1} /dev/zero |
openssl enc -aes-128-ctr -pass file:/dev/random 2>/dev/null |
tail -c+17

এই স্ক্রিপ্টটি বাইটগুলির একটি ক্রিপ্টোগ্রাফিক সুরক্ষিত প্রবাহ মুদ্রণ করে। এটিতে byচ্ছিক যুক্তি লাগে যা প্রবিষ্ট করতে হবে তার সংখ্যা নির্দিষ্ট করে। ডিফল্টরূপে, আউটপুট অসীম হবে।

যেসব ক্ষেত্রে পড়া /dev/urandomখুব ধীরে ধীরে ধীরে ধীরে আসে সেখানে দরকারী ।

মাপকাঠি

$ time head -c 1G /dev/urandom > /dev/null
Real    59.75
User    0.03
Sys     59.68
$ time random 1G > /dev/null
Real    0.68
User    0.64
Sys     0.86

এই স্ক্রিপ্টটি আমার i7-3770 এ প্রতি সেকেন্ডে 1.5 গিগাবাইট পর্যন্ত উত্পন্ন করে।

বিপরীতে, /dev/urandomপরিচালনা থেকে পঠন প্রতি মিনিটে সবে মাত্র 1 জিবিবি জেনারেট করে ।

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

  • head -c${1--1} /dev/zeroশূন্য বাইটের নির্দিষ্ট পরিমাণকে আউটপুট করে। যদি কোনও পরিমাণ নির্দিষ্ট না করা থাকে তবে ${1--1}সমান -1 এবং হেড অসীম পরিমাণের আউটপুট দেয়।

  • openssl enc -aes-128-ctr -pass file:/dev/randomজিরো বাইটগুলি এনক্রিপ্ট করতে পাসওয়ার্ড মোডে AES-128 ব্যবহার করে পাসওয়ার্ডটি পড়ে /dev/random

  • tail -c+17 আউটপুটটির 16-বাইট শিরোনাম থেকে মুক্তি পাওয়া যায়।


নোট করুন যে প্রথম 2 ^ 68 আউটপুট বাইটগুলি দেখে এই স্ট্রিমটি একটি "বাস্তব" এলোমেলো স্ট্রিম থেকে আলাদা করা যেতে পারে (সত্যিকারের এলোমেলো স্ট্রিমটিতে সেখানে ডুপ্লিকেট ব্লক থাকা উচিত, এটি হবে না)।
পাওলো ইবারম্যান

@ পাওলোএবারম্যান: আপনি অবশ্যই ঠিক বলেছেন। তারপরে আবার, আমার মেশিনে এমন অনেকগুলি বাইট তৈরি করতে 6,000 বছর সময় লাগবে ...
ডেনিস

7

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

যে কোনও সমীকরণ সমাধান করুন (ভাল, সমস্ত নয়, তবে সাধারণ ফাংশনগুলির সাথে কাজ করা উচিত ...)

r=s=>{for(x=e=a=1e-7;a;x-=e*a/(eval(s.replace(/x/g,x+e))-a))a=eval(s.replace(/x/g,x));return x}

ES6 (105 টি অক্ষর) ছাড়াই:

function r(s){for(x=e=a=1e-7;a;x-=e*a/(eval(s.replace(/x/g,x+e))-a))a=eval(s.replace(/x/g,x));return x}

ডান দিকটি শূন্য বলে ধরে নিলাম কেবল সমীকরণের বাম দিকটি দিন।

উদাহরণ:

  • r("x*x-9") আয় 3
  • r("Math.sin(x)-1")রিটার্ন 1.5707963394347828(পাই / 2)
  • r("Math.pow(2,x)-512") আয় 9

সতর্কতা: কিছু ফাংশন ডাইভার্জ করতে পারে (বা যদি কোনও সমাধান না পাওয়া যায়) এবং আপনার ব্রাউজার ট্যাব স্থির করতে পারে, বা এনএএন ফিরে আসতে পারে।


6

সি - 99 টি অক্ষর

i;main(int c,char**a){for(a+=2;1+(c=getchar());)putchar(c+(**(a-1)-69?1:-1)**(*a+i++%strlen(*a)));}

এই প্রোগ্রামটি কোনও ধরণের ডেটা এনক্রিপশন এবং ডিক্রিপশন করতে দেয়।

ব্যবহার

প্রথম ... এটি সংকলন!

gcc crypto.c crypto

আপনি যদি mypreciousdata.txtকীটির বিষয়বস্তুগুলি এনক্রিপ্ট করতে চান mysecretkeyএবং ফলাফলটি এতে সংরক্ষণ করতে চান myprotecteddata.txt:

cat mypreciousdata.txt | ./crypto E mysecretkey > myprotecteddata.txt

এখন, আপনি যদি ডিকোড করা সামগ্রীগুলি পুনরুদ্ধার করতে চান myprotecteddata.txt:

cat myprotecteddata.txt | ./crypto D mysecretkey > mypreciousdata.txt

আর চাবিটি আর নিরাপদ!

ব্যাখ্যা

দয়া করে নীচে প্রসারিত এবং মন্তব্য করা কোডটি সন্ধান করুন:

int main(int argc, char** argv)
{   
    // retrieve the first argument passed to the program (action)
    char action = argv[1][0];

    // retrieve the second argument passed to the program (key)
    char* key = argv[2];

    // initialize character position in the key
    int i = 0;

    // initialize the current input character
    char c = 0;

    // loop until we reach the end of input
    while (c != -1){
        // get a character from stdin
        c = getchar();
        if (action == 'E'){
            // encode the current character
            putchar(c + key[i]);
        } else{
            // decode the current character
            putchar(c - key[i]);
        }
        // increment the position in the key, without overflow
        i = (i + 1) % strlen(key);
    }
}

এটি আপনার ধরণের আকারের (সাধারণত 256) বর্ণমালার জন্য অভিযোজিত ভিগেনের সাইফারের একটি বৈকল্পিক char
পাওলো ইবারম্যান

5

GolfScript

আমি একে একে ঠিক ১০০ টি চরিত্রের মধ্যে ফেলেছি!

{{}/]{97-}%}:b~:|;"etaoinshrdlcumwfgypbvkjxqz"b:f,:&,{:x[|{&x-+&%f?}%{+}*\]}%$0=1=:x|{&x-+&%97+}%''+

এটি ROT-n এনক্রিপ্ট হওয়া পাঠ্যের ইনপুট নেয় এবং পাঠ্যটি ডিকোড করে আউটপুট দেয়। ( এখান থেকে নেওয়া ।) উদাহরণস্বরূপ, যখন ইনপুট দেওয়া হয় তখন pmttwxmwxtmwnxzwoziuuqvoxchhtmakwlmowtnabiksmfkpivomআউটপুট হয় 8hellopeopleofprogrammingpuzzlescodegolfstackexchange


5

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

জাভাস্ক্রিপ্টে একটি অনন্য আইডি তৈরি করতে
Math.random().toString(30).slice(2);

এরকম কিছু উত্পাদন করে: 'h9d2f4aniimma7h1d3pbffi0foi8d3mf'

30-32 আলফা-সংখ্যাসূচক অক্ষরের স্ট্রিং

Math.random().toString(36).slice(2)

এরকম কিছু উত্পাদন করে: 'uq2sze67hsacq5mi'

দৈর্ঘ্যের স্ট্রিং 14-16।


4

সি ++ 57

#include<iostream>
#include<conio.h>
int main(){std::cout<<getch();}  

এই প্রোগ্রামটি একটি অক্ষর ইনপুট নেয় এবং এর ASCII মান আউটপুট করে।



2
@ টিমটেক আমি ব্রেইনফাক জানি না Muk
মুকুল কুমার


3

Fortran - 85 বাইট

l=0;read(*,*)n;do while(n>0);i=mod(n,10);l=l+i;n=n/10;enddo;print*,"digit sum=",l;end

একটি সংখ্যায় পড়ে এবং অঙ্কগুলির যোগফল মুদ্রণ করে । প্রকল্পের ইউলার সমস্যার জন্য দরকারী ।


এই প্রকল্পটি ইউলার সমস্যার জন্য কীভাবে সহায়তা করে?
পাওলো ইবারম্যান

@ পাওলোএবারম্যান: প্রোজেক্ট অলারের আগে সম্ভবত আমার "কিছু" যুক্ত করা উচিত ছিল। আমি নিশ্চিত জানি 16, 20 এবং 119 টি সমস্যাগুলি অঙ্কের অঙ্কগুলি ব্যবহার করে, অন্যদের সম্পর্কে নিশ্চিত নয় তবে তাদের বেশিরভাগ সমস্যার জন্য এটির প্রয়োজন হয় না
কাইল কানোস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.