আপনি করতে পারেন যে বৃহত্তম অনন্ত করুন!


31

ক্যান্টর সাধারণ ফর্ম

পূরণবাচক সংখ্যা সিস্টেম অসীম সংখ্যার একটি সিস্টেম। প্রচুর অসীম সংখ্যা। এতগুলি অসীম সংখ্যা যে এটির আক্ষরিক অর্থে তার নিজস্ব অসীমত্ব উপস্থাপন করার জন্য কোনও অনন্ত নেই। উপরের চিত্রটি তারা কীভাবে কাজ করে সে সম্পর্কে একটু ধারণা দেয়। একটি অর্ডিনাল নম্বর ( ভন নিউম্যান নির্মাণ ) পূর্ববর্তী অর্ডিনালের একটি সেট। উদাহরণস্বরূপ, 0 হল খালি সেট, 1 সেট {0}, 2 সেট {0, 1} এবং ইত্যাদি etc. তারপর আমরা ω এ পৌঁছাতে যা} 0, 1, 2, 3 ...}} ω + 1 হ'ল, 0, 1, 2, 3 ... ω}, ω গুণ দুই হয় {0, 1, 2 ... ω, ω + 1, ω + 2 ...} এবং আপনি ঠিক এভাবেই চালিয়ে যান যে।

আপনার প্রোগ্রামটি অর্ডিনালের একটি সেট আউটপুট দেবে, যেমন {0, 1, 4}} আপনার স্কোরটি তখন আপনার সেটের সমস্ত অর্ডিনালের তুলনায় সর্বনিম্ন অর্ডিনাল হবে। {0, 1, 4 For এর জন্য স্কোর 5 হবে {0, 1, 2 ... For এর জন্য স্কোরটি হবে ω ω

আপনি যে অর্ডিনালগুলি জিজ্ঞাসা করেছেন সেগুলি কীভাবে আউটপুট করবেন। অবশ্যই কোড। যথা, আপনার প্রোগ্রামটি অন্যান্য প্রোগ্রামগুলির একটি সম্ভাব্য অসীম তালিকা আউটপুট দেবে, উদ্ধৃতিগুলিতে, প্রতিটি লাইনে একটি করে (নতুন লাইন উপস্থাপনের জন্য আক্ষরিক স্ট্রিং "\ n" ব্যবহার করুন)। একটি প্রোগ্রাম উপরে বর্ণিত হিসাবে তার স্কোর অনুরূপ। উদাহরণস্বরূপ, যদি আপনি আউটপুট

"A"
"B"
"C"

যেখানে এ, বি এবং সি নিজেই বৈধ উত্তর এবং এর স্কোর {0, 1, 4 have রয়েছে, আপনার প্রোগ্রামের স্কোর 5 হবে Note দ্রষ্টব্য যে এ, বি, এবং সি পুরো টুকরা নয়, পুরো প্রোগ্রাম হতে হবে।

উপরোক্ত নিয়মগুলির উপর ভিত্তি করে, এমন কোনও প্রোগ্রাম যা কিছুতেই আউটপুট দেয় না তার স্কোর 0 থাকে (সর্বনিম্ন অর্ডিনালটি সমস্ত {} 0 এর চেয়ে বড় হয়)। এছাড়াও, মনে রাখবেন কোনও ফাউন্ডেশনের অ্যাক্সিয়ামের মাধ্যমে কোনও সেট নিজেকে ধারণ করতে পারে না । যথা, প্রতিটি সেটের (এবং তাই অर्डিনাল) শূন্যের নীচে একটি পাথ রয়েছে। এর অর্থ এটি একটি পূর্ণ-কুইনটি অবৈধ হবে কারণ এটি কোনও সেট নয়।

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

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

এটিতে কুইন ট্যাগ রয়েছে, কারণ বৃহত অর্ডিনালগুলি তৈরিতে ব্যবহারের জন্য সোর্সগুলির নিজস্ব কোডের কমপক্ষে অংশটি তৈরি করা সহায়ক হতে পারে। যদিও এটি কোনওভাবেই প্রয়োজন হয় না (উদাহরণস্বরূপ, স্কোর 5 সহ একটি জমা দেওয়ার জন্য সম্ভবত নিজস্ব উত্স কোডের প্রয়োজন হবে না)।

একটি পরিশ্রমী এবং মন্তব্যযুক্ত উদাহরণের জন্য, এখানে দেখুন


এর অর্থ কি এটি অসীম সংখ্যক কার্ডিনাল আউটপুট দেওয়া শেষ করা উচিত নয়? এবং সীমাবদ্ধ উত্স অংশ কোথায়? আমি মনে করি এই ট্যাগটি কোড দৈর্ঘ্যের সীমাবদ্ধতার জন্য নয়। উদ্ধৃত এবং নিউলাইন উভয়ই iring n এ রূপান্তরিত করা আমার কাছে অপ্রয়োজনীয় মনে হয়েছে, অন্য অন্তর্নির্মিত তালিকা বিন্যাসের অনুমতি দেওয়া উচিত?
জিমি 23013

@ ব্যবহারকারী23013 এটি আপনার বিকল্পে, সীমাহীন সংখ্যক অর্ডিনাল আউটপুট দেওয়ার জন্য কখনই শেষ করতে পারে না। যদিও নিউলাইনগুলিকে উদ্ধৃত করা এবং এড়ানোর কাজটি বাড়াবাড়ি, তবুও অনেকগুলি ভাষা ঠিক সেই কাজের জন্য সুবিধাগুলি তৈরি করেছে। অন্যান্য তালিকা ফর্ম্যাট বলতে কী বোঝ?
পাইরুলেজ

আমি ব্যবহৃত ভাষা দ্বারা সনাক্তযোগ্য কোনও তালিকা বা অ্যারে বিন্যাস বোঝাতে চাইছিলাম। অথবা কেবল রূপান্তর \ n alচ্ছিক করুন। অনেক ভাষায় দ্রুত সমাধান হ'ল কোনও নতুন লাইন ব্যবহার না করা।
জিমি 23013

3
চিত্রটি নষ্ট হয়ে গেছে। " সেট এটি কি পারে না " এর অর্থ কী? " আপনার পোস্ট করা আসল উত্তরটি অবশ্যই 1,000,000 বাইটের নিচে থাকতে হবে " প্রকৃত সীমাটির চেয়ে অনেক দুর্বল, কারণ স্ট্যাক এক্সচেঞ্জ 30000 এর বেশি অক্ষরের উত্তর মঞ্জুরি দেয় না।
পিটার টেলর

1
@ নেটএলড্রেজ পৃথকভাবে শব্দযুক্ত, প্রমাণ করুন যে একটি গণনীয় অর্ডিনাল অবশ্যই গণনাযোগ্য হতে হবে।
কেবল সুন্দর আর্ট

উত্তর:


20

হাস্কেল: ψ (Ω Ω ω ) + 999672 পয়েন্ট

main=print$f++shows f"$iterate(Z:@)Z";f="data N=Z|N:@N deriving Show;r=repeat;s Z=[];s(a:@Z)=r a;s(Z:@b)=($u b)<$>h b;s(a:@b)=do(f,c)<-h b`zip`s a;f<$>[c:@b,a]\nh=scanl(flip(.))id.t;t(Z:@Z)=r(:@Z);t(Z:@b)=((Z:@).)<$>t b;t(a:@b)=flip(:@).(:@b)<$>s a;u Z=Z;u(Z:@b)=u b;u(a:@_)=a;g f=mapM_$print.((f++shows f\"$s$\")++).show;main=g"

অর্ডিনাল ψ (Ω Ω ω ) + সহ কোডের 329 বাইট + 1 জেরভেল (2005) দ্বারা আবিষ্কার করা অধ্যাদেশগুলির গাছ ভিত্তিক উপস্থাপনা ব্যবহার করে । সন্তানদের সঙ্গে গাছ α , β , ..., γ বোঝানো হয় । বাম থেকে ডান এই ক্রমটি জেরভেলের সাথে সম্মত হয়েছে, যদিও নোট করুন যে মাদোর এটিকে ডান থেকে বামে ফ্লাইপ করে।α :@ (β :@ (… :@ (γ :@ Z)…))

হাস্কেল: Γ 0 + 999777 পয়েন্ট

main=print$f++shows f"$iterate((:[]).T)[]";f="data T=T[T]deriving(Eq,Ord,Show);r=reverse;s[]=[];s(T b:c)=(++c)<$>scanl(++)[](b>>cycle[fst(span(>=T b)c)++[T$r d]|d<-s$r b]);g f=mapM_$print.((f++shows f\"$s$\")++).show;main=g"

অর্ডিনাল Γ 0 + 1 সহ 224 বাইটের কোডটি বেকলেমিশেভের কীটকে সাধারণ-মূল্যবান উপাদানগুলির একটি সাধারণীকরণের উপর ভিত্তি করে তৈরি করা হয়, যা এগুলি নিজেরাই পুনরাবৃত্তভাবে কৃমি দ্বারা প্রতিনিধিত্ব করে।

হাস্কেল: ε 0 + 999853 পয়েন্ট

main=print$f++shows f"$map(:[])[0..]";f="s[]=[];s(0:a)=[a];s(a:b)=b:s(a:fst(span(>=a)b)++a-1:b);g f=mapM_$print.((f++shows f\"$s$\")++).show;main=g"

অর্ডিনাল ε 0 + 1 সহ 148 বাইট কোড This এটি বেকলেমিশেভের কীট উপর ভিত্তি করে । ক্রমতালিকা

map(+1 ++ [0] ++ map(+1 ++ [0] ++  ++ [0] ++ map(+1

পূরণবাচক (ω প্রতিনিধিত্ব করে γ + + ⋯ + + ω বিটা + + ω α ) - 1. সুতরাং দ্বিতীয় স্তরের আউটপুট [0], [1], [2], [3], ... প্রতিনিধিত্ব 1, ω, ω ω , ω ω ω , ..., প্রথম পর্যায়ের আউটপুট ε প্রতিনিধিত্ব করে 0 , এবং প্রাথমিক প্রোগ্রামটি ε 0 + 1 উপস্থাপন করে।

হাস্কেল: ε 0 + 999807 পয়েন্ট

main=print$f++shows f"$iterate(:@Z)Z";f="data N=Z|N:@N deriving Show;s Z=[];s(Z:@b)=repeat b;s(a:@Z)=scanl(flip(:@))Z$s a;s(a:@b)=(a:@)<$>s b;g f=mapM_$print.((f++shows f\"$s$\")++).show;main=g"

অর্ডিনাল ε 0 + 1 সহ 194 বাইট কোড ।

Z0 প্রতিনিধিত্ব করে আর আমরা transfinite আনয়ন দ্বারা প্রমাণ করতে পারেন α , তারপর β , যে α :@ β≥ ω α + + β । সুতরাং যে কোনও টাওয়ার as ω ω এর মতো কমপক্ষে দ্বিতীয় স্তরের আউটপুট রয়েছে , যার অর্থ প্রথম স্তরের আউটপুট কমপক্ষে ε 0 এবং প্রাথমিক প্রোগ্রামটি কমপক্ষে ε 0 + 1।


2
চমৎকার উত্তর. আপনি কি মনে করেন আপনি এটি আরও ব্যাখ্যা করতে পারেন? আমি একটি ভাল অর্ডারযুক্ত টাইপ ব্যবহার করার আপনার ধারণা পছন্দ করি।
পাইরুলেজ

1
বিশেষত, কোন অর্ডিনালগুলি এটি আউটপুট হিসাবে উত্পাদন করে?
পাইরুলেজ

এছাড়াও, আপনি কি এই অর্ডিনালের ক্যান্টরের সাধারণ ফর্মটি জানেন?
পাইরুলেজ

@ পাইরুলেজ ক্যান্টর সাধারণ ফর্ম এই অধ্যাদেশগুলি বর্ণনা করার জন্য সহায়ক নয়। ψ (Ω ^ Ω ^ ω,), Γ₀, এবং all সমস্ত অ্যাপসিলন সংখ্যা , যাতে আমরা তাদের “একক স্তরের” ক্যান্টর সাধারণ ফর্ম (ψ (Ω ^ Ω ^ ω)) = ω ^ for (Ω ^ Ω ^ ω), Γ₀ = ω ^ Γ₀, ε₀ = ω ^ ε₀), আমরা এগুলিকে এক্সপ্রেশন হিসাবে লিখতে পারি না যেখানে প্রতিটি ক্ষতিকারক ক্যান্টর সাধারণ ফর্মের মধ্যে পুনরাবৃত্ত হয়।
অ্যান্ডারস ক্যাসরগ

1
সুতরাং কেন আপনার সাধারণ ভগ্নাংশগুলির জন্য Veblen -র মতো সাধারণ ফর্ম ব্যবহার করা উচিত: পি। যেমন, আপনি লিখবেন Γ₀ = ψ (Ω ^ Ω) এবং ε₀ = ψ (0)।
কেবল সুন্দর আর্ট

5

রুবি, ψ 0এক্স ( + এম + 1এম + 1 Ω এম + 1 )) (0)) + 999663 পয়েন্ট

ধরে নিচ্ছি আমি আমার প্রোগ্রামটি সঠিকভাবে বুঝতে পেরেছি, আমার স্কোরটি ψ 0এক্স (ψ এম + 1এম + 1 Ω এম + 1 )) (0)) + 999663 পয়েন্ট যেখানে ψ একটি অরৈমিতিক ভাঙ্গা ফাংশন, এক্স চি ফাংশন (মাহলো ভেঙে ফাংশন), এবং এম হলেন প্রথম মাহলো 'অর্ডিনাল'।

এই প্রোগ্রামটি আমি গল্ফে ট্রাই (3) এর চেয়ে বড় একটি সংখ্যা লিখেছি এবং এটি আপাতত এখানে অন্যান্য সমাধানগুলিকে সম্পূর্ণরূপে ট্রাম্প করে তার একটি সম্প্রসারণ ।

z=->x,k{f=->a,n,b=a,q=n{c,d,e=a;!c ?q:a==c ?a-1:e==0||e&&d==0?c:e ?[[c,d,f[e,n,b,q]],f[d,n,b,q],c]:n<1?9:!d ?[f[b,n-1],c]:c==0?n:[t=[f[c,n],d],n,d==0?n:[f[d,n,b,t]]]};x==0??p:(w="\\"*k+"\"";y="";(0..1.0/0).map{|g|y+="x=#{f[x,g]};puts x==0??p:"+w+"#{z[f[x,g],k*2+1]}"+w+";"};y)};h=-1;(0..1.0/0).map{|i|puts "puts \"#{z[[i,h=[h,h,h]],1]}\""}

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

রুবি, ψ 0I (I I )) + 999674 পয়েন্ট

z=->x,k{f=->a,n,b=a{c,d,e,q=a;a==c ?a-1:e==0||d==0?(q ?[c]:c):e ?[[c,d,f[e,n,b],q],f[d,n,b],c,q]:[n<1?9:d&&c==0?[d]:d ?[f[c,n],d]:[f[b,n-1],f[c,n,b]],n,n]};x==0??p:(w="\\"*k+"\"";y="";(0..1.0/0).map{|g|y+="x=#{f[x,g]};puts(x==0??p:"+w+"#{z[f[x,g],k*2+1]}"+w+");"};y)};h=0;(0..1.0/0).map{|i|puts("puts(\"#{z[h=[h,h,h,0],1]}\")")}

এটি অনলাইন চেষ্টা করুন! (সতর্কতা: এটি বেশি কিছু করবে না, যেহেতু স্পষ্টভাবে শেষ (0..1.0/0).map{...}হতে পারে না It's

রুবি, ψ 0I (0)) + 999697 পয়েন্ট

z=->x,k{f=->a,n,b=a{c,d,e=a;a==c ?a-1:e==0||d==0?c:e ?[[c,d,f[e,n,b]],d-1,c]:[n<1?9:d&&c==0?[d]:d ?[f[c,n-1],d]:[f[b,n-=1],f[c,n,b]],n,n]};x==0??p:(w="\\"*k+"\"";y="";(0..1.0/0).map{|g|y+="x=#{f[x,g]};puts(x==0??p:"+w+"#{z[f[x,g],k*2+1]}"+w+");"};y)};h=0;(0..1.0/0).map{|i|h=[h];puts|i|puts("puts(\"#{z[hz[h=[h],1]}\")")}

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

(0..5).map{...}পরিবর্তে কার্যকর হয় যে আরও যুক্তিসঙ্গত পরীক্ষা প্রোগ্রাম :

z=->x,k{f=->a,n,b=a{c,d,e=a;a==c ?a-1:e==0||d==0?c:e ?[[c,d,f[e,n,b]],d-1,c]:[n<1?9:d&&c==0?[d]:d ?[f[c,n-1],d]:[f[b,n-=1],f[c,n,b]],n,n]};x==0??p:(w="\\"*k+"\"";y="";(0..5).map{|g|y+="x=#{f[x,g]};puts(x==0??p:"+w+"#{z[f[x,g],k*2+1]}"+w+");"};y)};h=0;(0..5).map{|i|h=[h];puts("puts(\"#{z[h,1]}\")")}

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

দুর্ভাগ্যক্রমে, এমনকি এর সাথেও (1..1).map{...}আপনি এই প্রোগ্রামটিকে অত্যন্ত স্মৃতিশক্তিযুক্ত বলে মনে করবেন। মানে, আউটপুটটির দৈর্ঘ্য এসসিজি (13) এর চেয়ে বেশি হয়ে গেছে।

সহজ প্রোগ্রামটি ব্যবহার করে আমরা কয়েকটি মান বিবেচনা করতে পারি:

a = value you want to enter in.
z=->x,k{f=->a,n,b=a{c,d,e=a;a==c ?a-1:e==0||d==0?c:e ?[[c,d,f[e,n,b]],d-1,c]:[n<1?9:d&&c==0?[d]:d ?[f[c,n-1],d]:[f[b,n-=1],f[c,n,b]],n,n]};x==0??p:(w="\\"*k+"\"";y="x=#{f[x,k]};puts(x==0??p:"+w+"#{z[f[x,k],k*2+1]}"+w+");";y)};puts("puts(\"#{z[a,1]}\")")

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

এটি মূলত একই প্রোগ্রামটি বারবার মুদ্রণ করে:

x=...;puts(x==0??p:"...");

যেখানে প্রাথমিক xরেকর্ডটি প্রোগ্রামটির সাথে সম্পর্কিত অর্ডিনালটি রেকর্ড করে এবং প্রোগ্রামগুলি "..."হোল্ড করার পরে xহ্রাস করা হয়। যদি x==0, তবে এটি মুদ্রণ

p

এটি এমন একটি প্রোগ্রাম যা শূন্য স্কোর সহ কিছুই ছাপায় না

x=0;puts(x==0??p:"p");

এর স্কোর 1, এবং

x=1;puts(x==0??p:"x=0;puts(x==0??p:\"p\");");

এর স্কোর 2, এবং

x=2;puts(x==0??p:"x=1;puts(x==0??p:\"x=0;puts(x==0??p:\\\"p\\\");\");");

এর স্কোর 3 ইত্যাদি রয়েছে এবং আমার আসল প্রোগ্রামটি এই প্রোগ্রামগুলিকে বিন্যাসে মুদ্রণ করে

puts("...")

...উপরে তালিকাভুক্ত কর্মসূচিগুলি কোথায় where

আমার আসল প্রোগ্রামটি প্রকৃতপক্ষে এই প্রোগ্রামগুলি বিন্যাসে মুদ্রণ করে

x=0;puts(x==0??p:"p;p;p;p;p;...");

অসীম বহুবার এবং মূল্যবোধের জন্য যেমন এর মতো ωকিছু করে

x=ω;puts(x==0??p:"(x=0 program); (x=1 program); (x=2 program); ...")

এবং এইভাবে, প্রোগ্রামের স্কোর

x=(some_ordinal);puts(x==0??p:"...")

হয় 1+some_ordinal, এবং এর স্কোর

puts("x=(some_ordinal);puts(x==0??p:\"...\")")

হয় 1+some_ordinal+1, এবং এর স্কোর

z=->x,k{f=->a,n,b=a{c,d,e=a;a==c ?a-1:e==0||d==0?c:e ?[[c,d,f[e,n,b]],d-1,c]:[n<1?9:d&&c==0?[d]:d ?[f[c,n-1],d]:[f[b,n-=1],f[c,n,b]],n,n]};x==0??p:(w="\\"*k+"\"";y="";(0..1.0/0).map{|g|y+="x=#{f[x,g]};puts(x==0??p:"+w+"#{z[f[x,g],k*2+1]}"+w+");"};y)};puts("puts(\"#{z[some_ordinal,1]}\")")

হয় 1+some_ordinal+2


অর্ডিনালের ব্যাখ্যা:

f[a,n,b]একটি অর্ডিনাল হ্রাস করে a

প্রতিটি প্রাকৃতিক সংখ্যা নীচের প্রাকৃতিক সংখ্যায় হ্রাস পায়।

f[k,n,b] = k-1

[c,0,e]এর উত্তরসূরি c, এবং এটি সর্বদা কমে যায় c

f[[c,0,e],n,b] = c

[c,d,e] পিছনের দিকে সহযোগী হাইপারোপরেশন হ'ল, নিম্নরূপে হ্রাস পেয়েছে:

f[[c,d,0],n,b] = c
f[[c,d,e],n,b] = [[c,d,f[e,n,b]],f[d,n,b],c]

[0] এটি প্রথম অসীম অর্ডিনাল (to এর সমতুল্য) এবং নিম্নরূপ হ্রাস পায়:

f[[0],0,b] = [9,0,0]
f[[0],n,b] = [n,n,n]

[c] সিটি ওমেগা অর্ডিনাল এবং নিম্নরূপ হ্রাস:

f[[c],0,b] = [9,0,0]
f[[c],n,b] = [[f[b,n-1,b],f[c,n,b]],n,n]
Note the two-argument array here.

[c,d]ψ d (সি) হয় এবং নিম্নরূপ হ্রাস পায়:

f[[c,d],0,b] = [9,0,0]
f[[0,d],n,b] = [[d],n,n]
f[[c,d],n,b] = [[f[c,n,c],d],n,n]

[c,d,e,0][c,d,e]এটি পূর্বসূরীর অপারেশনের [c]পরিবর্তে অপারেশনকে গণনা করা বাদে মূলত একই ।

f[[c,0,e,0],n,b] = [c]
f[[c,d,0,0],n,b] = [c]
f[[c,d,e,0],n,b] = [[c,d,f[e,n,b],0],f[d,n,b],c,0]

গুগোলজি উইকিয়া অনুসারে, আমি প্রথম অ্যাক্সেসযোগ্য কার্ডিনাল, না প্রথম অ্যাক্সেসেবল অর্ডিনাল।
পাইরুলেজ

@ পাইরুলেজ হ্যাঁ, যদিও এটি একটি কার্ডিনালের পরিবর্তে এখানে একটি অর্ডিনাল রাখা আরও বোধগম্য। সাধারণত একজন বলে যে Iএটি অরডিনাল যা প্রথম অ্যাক্সেসযোগ্য কার্ডিনালের সাথে সম্পর্কিত, ঠিক যেমন ω অ্যালেফ নালের সাথে সম্পর্কিত।
কেবল সুন্দর আর্ট

4

জাভা + ব্রেইনফ ***, 99 + 999180 পয়েন্ট

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

কেন? কারণ আমি পারি

ব্রেইনফ *** প্রজন্মের অংশে যে কোনও উন্নতি হয়েছে তা অবশ্যই স্বাগত।

import java.io.*;import java.util.*;import static java.lang.System.*;
class O{
    static String F(String s){
        String t="++++++++++++++++++++";
        List<Character> c=Arrays.asList('+','-','.','<','>','[',']');
        t+="[->++>++>++>+++>+++>++++>++++<<<<<<<]>+++>+++++>++++++>>++>+++++++++++>+++++++++++++";
        for(int x=0,i=6;x<s.length();x++){
            int d=c.indexOf(s.charAt(x)),k=d;
            while(d>i){d--;t+=">";}
            while(d<i){d++;t+="<";}
            t+=".";i=k;
        }return t;
    };
    static void p(String a){
        int i=48;while(i<a.length()){out.println(a.substring(i-48,i));i+=48;}
        out.println(a.substring(i-48));out.println();
    }
    public static void main(String[]a) throws Exception{setOut(new PrintStream("o.txt"));String b="";while(true)p(b=F(b));}
}

1
আপনার স্বাদে অবশ্যই, তবে আসল নামটি ব্যবহার করা সন্ধান করা আরও সহজ করে তোলে। :)
লুসার droog

1
পছন্দ করুন যেহেতু আমি নিশ্চিত যে আপনি একাধিক অনুসন্ধানের পদগুলি কীভাবে অন্তর্ভুক্ত করবেন তা জানেন, তাই বিভিন্ন নাম দিয়ে বিএফ প্রোগ্রামগুলি অনুসন্ধান করা সমান অসুবিধা।
mbomb007

@ এমবিম্ব007 আপনি কি পরামর্শ দিচ্ছেন যে "ব্রেইনফাক | ব্রেইনফ * সি কে | ব্রেনফেকুক | ব্রেইনফ ** কে | ব্রেইনফ *** | ব্রেইন **** | ব্রেনফু * কে? ..." টাইপ করা "ব্রেইনফাক" টাইপ করতে সমান অসুবিধা?
স্পার

@ স্পার স্ট্যাকএক্সচেঞ্জ *একটি ওয়াইল্ডকার্ড চরিত্র হিসাবে ব্যবহার করে , তাই কেবল টাইপ করুন brainf***, বা brainf। এই সমস্ত বৈচিত্রগুলি অনুসন্ধান ফলাফলগুলিতে উঠে আসে। কোডগলফ.স্ট্যাকেক্সেঞ্জিং.com
help/

@ এমবম্ব007 ধন্যবাদ, আমি এটি জানতাম না
স্পার

4

সাহিত্যের হাস্কেল (জিএইচসি 7.10): ω² + 999686 পয়েন্ট।

এটি উদাহরণস্বরূপ উত্তর হিসাবে পরিবেশন করবে। এটির উদাহরণস্বরূপ, এটি কেবল শিক্ষিত প্রোগ্রামিং ব্যবহার করার জন্য বোধগম্য । যদিও এটি ভাল স্কোর করবে না। বার্ডিগুলি আমার স্কোর হ্রাস করবে, তবে ওহ ভাল। প্রথমে একটি সহায়ক ফাংশন তৈরি করা যাক। X যদি একটি অর্ডিনাল হয় তবে sx = x + 1 হয় তবে আমরা এর অপ্রত্যাশিত ব্যবহারগুলি পাই।

> s x="main=putStrLn "++show x

শো ফাংশন ভাগ্যক্রমে আমাদের জন্য সমস্ত স্ট্রিং স্যানিটাইজেশন করে। 0 টিও এটির মূল্যবান 0 জিরো কোনও কিছুর উত্তরসূরি নয়, তবে s "" "প্রধান = putStrLn" "" এর সমান হবে, যা 0 সমান।

> z=s""

এখন আমরা একটি ফাংশন করব যা n নেবে এবং returns * n প্রদান করবে।

> o 0=z
> o n=q++"\nmain=putStrLn$unlines$map show$iterate s$o "++show(n-1)

এটি {* n {ω * (n-1), ω * (n-1) +1, ω * (n-1) +2, ...} দ্বারা তৈরি করে কাজ করে} এই কি কি? কেন, আমাদের এখানে একটি ট্যাগ থাকার কারণ । q এখন পর্যন্ত উপরোক্ত সহায়ক ফাংশন।

> h x = x ++ show x
> q = h "s x=\"main=putStrLn \"++show x\nz=s\"\"\no 0=z\no n=q++\"\\nmain=putStrLn$unlines$map show$iterate s$o \"++show(n-1)\nh x = x ++ show x\nq = h "

মনে রাখবেন যে কেবলমাত্র q এর প্রয়োজনে, এর উত্তরসূরিদের (s (o (n)), s (s (o (n))) এর কোনওটি নয়, যেহেতু তাদের সহায়ক ফাংশনগুলির প্রয়োজন নেই (অপ্রত্যক্ষভাবে ও এন থেকে বাদে) এখন আমাদের সীমাবদ্ধ n এর জন্য সমস্ত ω * n এর আউটপুট দিতে হবে।

> main=mapM(print.o)[0..]

আমরা শুরু করছি. ^ ^ 2 শুধুমাত্র 314 কোড অক্ষর ব্যবহার করে, আমি 999686 এর চূড়ান্ত বোনাস দাবি করি, যা আমাকে ইতিমধ্যে tor ^ 2 + 999686 এর চূড়ান্ত স্কোর দেয়, যা ইতিমধ্যে ক্যান্টরের সাধারণ ফর্মটিতে রয়েছে।

আউটপুট প্রথম চার লাইন (0, ω, ω * 2, ω * 3):

"main=putStrLn \"\""
"s x=\"main=putStrLn \"++show x\nz=s\"\"\no 0=z\no n=q++\"\\nmain=putStrLn$unlines$map show$iterate s$o \"++show(n-1)\nh x = x ++ show x\nq = h \"s x=\\\"main=putStrLn \\\"++show x\\nz=s\\\"\\\"\\no 0=z\\no n=q++\\\"\\\\nmain=putStrLn$unlines$map show$iterate s$o \\\"++show(n-1)\\nh x = x ++ show x\\nq = h \"\nmain=putStrLn$unlines$map show$iterate s$o 0"
"s x=\"main=putStrLn \"++show x\nz=s\"\"\no 0=z\no n=q++\"\\nmain=putStrLn$unlines$map show$iterate s$o \"++show(n-1)\nh x = x ++ show x\nq = h \"s x=\\\"main=putStrLn \\\"++show x\\nz=s\\\"\\\"\\no 0=z\\no n=q++\\\"\\\\nmain=putStrLn$unlines$map show$iterate s$o \\\"++show(n-1)\\nh x = x ++ show x\\nq = h \"\nmain=putStrLn$unlines$map show$iterate s$o 1"
"s x=\"main=putStrLn \"++show x\nz=s\"\"\no 0=z\no n=q++\"\\nmain=putStrLn$unlines$map show$iterate s$o \"++show(n-1)\nh x = x ++ show x\nq = h \"s x=\\\"main=putStrLn \\\"++show x\\nz=s\\\"\\\"\\no 0=z\\no n=q++\\\"\\\\nmain=putStrLn$unlines$map show$iterate s$o \\\"++show(n-1)\\nh x = x ++ show x\\nq = h \"\nmain=putStrLn$unlines$map show$iterate s$o 2"

এখন একটি গুরুতর সমাধান লিখতে যান :-)
কেবল সুন্দর আর্ট

2

গল্ফস্ক্রিপ্ট, ε₀ + 1 + 999537 পয়েন্ট

{{
{"{"lib`+"}:lib~~"@++"~"+p}:output;
{{}}:nothing;
{{1{).2$`+output 1}do}}:list;
{{\.(`2$`+" iter"+@`if output}}:iter;
{{1${@`@(2$`{rep~}+++\}{;;}if~}}:rep;
{\`\+}:combine;
{{\@@~}}:swap;
{{1${1$(1$`{rangemap~}+[+@@[\\]]{~}/+}{;;}if}}:rangemap;
{`{}+}:wrap;
}}:lib~~
nothing {iter combine list~} {rep combine} {~swap combine combine} rep combine swap combine combine {~list~} combine rangemap {~~} combine combine swap combine combine swap combine combine list~

এটি সম্ভবত আরও ভাল হতে পারে তবে বৃহত্তর অর্ডিনালগুলি ডিবাগ করতে এবং প্রমাণ করতে আমি খুব অলস হয়ে উঠি।

ছোট অধ্যাদেশ

#ω^ω^ω
#nothing {iter combine list~} {rep combine swap combine combine list~} {rep combine swap combine combine swap combine combine list~} rep combine swap combine combine swap combine combine swap combine combine list~
#ω^ω^2
#nothing {iter combine list~} { {rep combine swap combine combine list~} rep combine swap combine combine swap combine combine list~} rep combine swap combine combine swap combine combine list~
#ω^nω
#nothing {iter combine list~} 2 { {rep combine swap combine combine list~} rep combine swap combine combine swap combine combine list~} rep~
#ω^ω
#nothing {iter combine list~} {rep combine swap combine combine list~} rep combine swap combine combine swap combine combine list~
#ω^n
#nothing {iter combine list~} 3 {rep combine swap combine combine list~} rep~
#ω^3
#nothing {{iter combine list~} rep combine swap combine combine list~} rep combine swap combine combine list~
#ω^2
#nothing {iter combine list~} rep combine swap combine combine list~
#nω
#nothing 3 {iter combine list~} rep~
#2ω
#nothing iter combine list combine iter combine list~
#ω
#nothing iter combine list~
#finite
#2 nothing iter~

1

জাভাস্ক্রিপ্ট (ন্যাশর্ন), +2 + 999807 পয়েন্ট

ন্যাশর্ন জাভাস্ক্রিপ্ট ইঞ্জিন যা জাভাতে নির্মিত। এটি রাইনোতেও কাজ করতে পারে তবে আমি এখনও এটি পরীক্ষা করে দেখিনি।

c="(b=function(a){print(a?\"(b=\"+b+\")(\"+(a-1)+\")\":\"c=\\\"(b=function(a){print(a?'(b='+b+')'+'('+(a-1)+')':'')})(\\\";a=0;while(++a)print(c+a+\\\")\\\")\")})(";a=0;while(++a)print(c+a+")")

এটা কি 2ω বা ω²?
kamoroso94

@ কামোরসো94 এফওয়াইআই 2ω = ω ω
কেবল সুন্দর আর্ট

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