টাইপসেট সিয়েরপিনস্কি ট্রায়াঙ্গল ফ্র্যাক্টাল তে টেক্স তৈরি করুন


30

চ্যালেঞ্জ

TeX (LaTeX) গণিত সমীকরণ কোড আউটপুট কোড লিখুন (নীচে দেওয়া) যা 5 স্তরের সিয়েরপিনস্কি ত্রিভুজ ফ্র্যাক্টাল টাইপ করবে। সংক্ষিপ্ততম কোড জিতেছে

বিস্তারিত

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

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

নেস্টেড সুপার-এবং সাব-স্ক্রিপ্টগুলি সমন্বিত নিম্নলিখিত সাধারণ-পাঠ্য গণিত-সমীকরণ কোড দ্বারা:

{{{{{x^x_x}^{x^x_x}_{x^x_x}}^{{x^x_x}^{x^x_x}_{x^x_x}}_{{x^x_x}^{x^x_x}_{x^x_x}}}^{{{x^x_x}^{x^x_x}_{x^x_x}}^{{x^x_x}^{x^x_x}_{x^x_x}}_{{x^x_x}^{x^x_x}_{x^x_x}}}_{{{x^x_x}^{x^x_x}_{x^x_x}}^{{x^x_x}^{x^x_x}_{x^x_x}}_{{x^x_x}^{x^x_x}_{x^x_x}}}}^{{{{x^x_x}^{x^x_x}_{x^x_x}}^{{x^x_x}^{x^x_x}_{x^x_x}}_{{x^x_x}^{x^x_x}_{x^x_x}}}^{{{x^x_x}^{x^x_x}_{x^x_x}}^{{x^x_x}^{x^x_x}_{x^x_x}}_{{x^x_x}^{x^x_x}_{x^x_x}}}_{{{x^x_x}^{x^x_x}_{x^x_x}}^{{x^x_x}^{x^x_x}_{x^x_x}}_{{x^x_x}^{x^x_x}_{x^x_x}}}}_{{{{x^x_x}^{x^x_x}_{x^x_x}}^{{x^x_x}^{x^x_x}_{x^x_x}}_{{x^x_x}^{x^x_x}_{x^x_x}}}^{{{x^x_x}^{x^x_x}_{x^x_x}}^{{x^x_x}^{x^x_x}_{x^x_x}}_{{x^x_x}^{x^x_x}_{x^x_x}}}_{{{x^x_x}^{x^x_x}_{x^x_x}}^{{x^x_x}^{x^x_x}_{x^x_x}}_{{x^x_x}^{x^x_x}_{x^x_x}}}}}

মনে রাখবেন এটি কেবল একটি 5-স্তরের বাসা। আপনি জেনারেট করতে প্রয়োজন হবে না $...$বা $$...$$: বা অন্যান্য মার্কআপ শুরু করার জন্য / আপনি অনেক অনলাইন সম্পাদকদের মধ্যে উত্পন্ন TeX পূর্বরূপ দেখতে পারেন TeX অ্যান্ড কোং একটি গণিত সমীকরণ শেষ প্রয়োজনীয়, উদাহরণস্বরূপ http://www.hostmath.com কিন্তু আপনি অনেক খুঁজে পেতে পারেন অন্যরাও। এই প্রশ্নটি বন্ধুদের সাথে আলোচনার মাধ্যমে অনুপ্রাণিত হয়েছিল ।

হালনাগাদ

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


2
হ্যালো; আমি আপনার প্রশ্নটিকে সদৃশ হিসাবে বন্ধ করেছি কারণ আমি বিশ্বাস করি যে এই প্রশ্নের উত্তর দেওয়ার জন্য অন্যান্য প্রশ্ন থেকে উত্তরগুলি খুব তুচ্ছভাবে সংশোধন করা যেতে পারে। যাইহোক, আমি ধারণাটি পছন্দ করি এবং আমার মনে হয় এটি বেশ দুর্দান্ত দেখাচ্ছে! :)
হাইপারনিউটারিনো

2
এটির মূল্যের জন্য, আমি কোডটি অন্যের থেকে অনুবাদ করতে তুচ্ছভাবে পরিবর্তনযোগ্য হিসাবে দেখছি না বলে আমি এই প্রশ্নটি আবার খুললাম।
অ্যাডমবর্কবার্ক

4
এটা পর্যন্ত খুব দ্রুত একটি সমাধান গ্রহণ করা হোক!
শেগি

3
প্রাসঙ্গিক meta: codegolf.meta.stackexchange.com/q/5056/32352
Sanchises

2
আমি যখন এই চ্যালেঞ্জটি দেখেছি তখন এই উত্তরটি আমার মনে আসল ... কোডগলফ.স্ট্যাকেক্সেঞ্জারএইচএ / 6830/67961 এবং ... এটি আপনার ছিল
J42161217

উত্তর:




14

প্লেইন টেক্স, 29 বাইট

\def~#1x{{#1x_#1x^#1x}}~~~~~x

এটি অন্যদের আউটপুট কি আউটপুট। তবে কোডটি সংকলনযোগ্য করার জন্য আমাদের যদি প্রয়োজন হয় তবে এটি 6 বাইট বেশি হবে

\def~#1x{{#1x_#1x^#1x}}$~~~~~x$\bye

ব্যাখ্যা

~টেক্সের একটি সক্রিয় চরিত্র , তাই আমরা এটিকে একটি (নতুন) সংজ্ঞা দিতে পারি।

\def~#1x{{#1x_#1x^#1x}}~ম্যাক্রো হিসাবে সংজ্ঞায়িত করে , যাতে টেক্স যখন দেখেন তখন ~এটি নিম্নলিখিতটি করে:

  • পরবর্তী পর্যন্ত সমস্ত কিছু পড়ুন xএবং এটিকে কল করুন #1(প্যাটার্ন-ম্যাচিং)।
  • সঙ্গে পুরো জিনিস প্রতিস্থাপন {#1x_#1x^#1x}

উদাহরণস্বরূপ, ~ABCxসঙ্গে প্রতিস্থাপন হবে {ABCx_ABCx^ABCx}

যখন ~~~~~xব্যবহার করা হয়, #1হয় ~~~~, তাই পুরো জিনিস দিয়ে প্রতিস্থাপিত পরার {~~~~x_~~~~x^~~~~x}। ইত্যাদি।

একবার আমাদের কাছে দীর্ঘ স্ট্রিং হয়ে গেলে, আমরা এটিকে টার্মিনালে মুদ্রণ করতে পারি \message(এবং \byeটেক্সটি থামিয়ে শেষ করে), তাই \message{~~~~~x}\bye। অথবা ফলাফলটিকে (গাণিতিক সূত্র হিসাবে) টাইপ করুন, এটির চারপাশে ঘিরে $: তাই $~~~~~x$\bye


কিছু ভুল হলে দুঃখিত, প্রথমে এখানে উত্তর দিন।
ম্যানুয়েল

একটি বড় কারণ n(বদলে 5) এটি একটি ম্যাক্রো উপলব্ধ একটি তালিকা আউটপুট তৈরি করতে আরও দক্ষ হতে পারে nটিলড চিহ্ন ~লেখা বদলে ~~~~~। প্লাস এটা অনেক সুন্দর দেখতে পাবেন পুরো অভিব্যক্তি typeset অধীনে হলে হবে \scriptscriptstyle
ম্যানুয়েল

ভাল কৌশল ... আপনি একটি ব্যাখ্যা যোগ করতে পারেন, বা আমি যদি একটি যুক্ত করি তবে? এটি টেক্স ম্যাক্রোগুলিতে প্যাটার্ন-মিলের একটি দুর্দান্ত বৈশিষ্ট্য চিত্রিত করে, যা অনেক ভাষায় সাধারণ বৈশিষ্ট্য নয় (যা আমি জানি)।
শ্রীভাতসার

আমি এটি যুক্ত করব, তবে সম্পাদনা করতে নির্দ্বিধায়।
ম্যানুয়েল

ওহো, আপনার মন্তব্যটি দেখুন নি ... একটি খুব অনুরূপ ব্যাখ্যা যুক্ত করেছে; প্রত্যাখ্যান নির্দ্বিধায়। +1 সুন্দর উত্তরের জন্য!
শ্রীভাতসারআর

4

05 এ বি 1 ই , 17 বাইট

'x5F'x¡"{x^x_x}"ý

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

ব্যাখ্যা

'x                  # push "x"
  5F                # 5 times do
    'x¡             # split on "x"
       "{x^x_x}"ý   # join on "{x^x_x}"

একই বাইট-কাউন্টে অন্যান্য প্রোগ্রামগুলির মধ্যে রয়েছে

"{x^x_x}"©4F'x¡®ý
'x5F'x"{x^x_x}".:

আমার মনে হচ্ছে "{x^x_x}"কমে যেতে পারে ._।
ম্যাজিক অক্টোপাস উরন

4

পাওয়ারশেল ,  44  35 বাইট

"'x'"+"-replace'x','{x^x_x}'"*5|iex

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

বারবার স্ট্রিং গুণকে ব্যবহার করে -replace xসাব-এবং সুপার-স্ক্রিপ্টগুলির সাথে তারপরে আউটপুট।

জোয়াকে ধন্যবাদ 9 বাইট সংরক্ষণ করা।


"'x'"+"-replace'x','{x^x_x}'"*5|iexকিছুটা সহজ, না?
জোয়ি

@ জো ওহ, এটি করার একটি চতুর উপায়। ধন্যবাদ!
অ্যাডমবর্কবার্ক


2

জাভাস্ক্রিপ্ট (ES6), 45 42 37 বাইট

f=n=>n>4?'x':[...'{^_}'].join(f(-~n))

সম্পাদনা করুন: @ আর্নল্ডকে ধন্যবাদ 3 2 বাইট সংরক্ষণ করা হয়েছে। 5 নির্দিষ্ট করে এখনও আমার 2 বাইট খরচ হয়; এই 41 40 35-বাইট সংস্করণ পরিবর্তে একটি প্যারামিটার নেয়:

f=n=>n?[...'{^_}'].join(f(n-1)):'x'



2

জাপট , 21 20 18 বাইট

5Æ="\{^_}"¬qUª'xÃÌ

এটা পরীক্ষা করো


ব্যাখ্যা

5Æ             Ã

5 দৈর্ঘ্যের অ্যারে তৈরি করুন এবং এটির উপরে মানচিত্র করুন।

"\{^_}"¬

একটি স্ট্রিংকে অক্ষরের অ্যারেতে বিভক্ত করুন

qUª'x

( q) এর বর্তমান মান Uবা ( ª) ব্যবহার করে একটি স্ট্রিংয়ে পুনরায় যোগদান করুন "x"

=

এর ফলাফল বরাদ্দ করুন U

Ì

অ্যারেতে শেষ উপাদানটি পান।


বিকল্প, 18 বাইট

উপরের মত একই তবে এটি তৈরির পরে অ্যারে হ্রাস করা।

5o r@"\{^_}"¬qX}'x

এটা পরীক্ষা করো

পুনরাবৃত্তির বিকল্প।

>4©'xª"\{^_}"¬qßUÄ

এটা পরীক্ষা করো


1

জাভা (ওপেনজেডিকে 8) , 179 167 বাইট

@ নীল বন্দর

interface Y{static void main(String[]a){System.out.println(t.apply(1));}java.util.function.Function<Integer,String>t=N->N>0?Y.t.apply(N-1).replace("x","{x^x_x}"):"x";}

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


আমি মনে করি আপনি tল্যাম্বদার পরিবর্তে সত্যিকারের ফান্টিটিও হিসাবে লিখতে খাটো
রোমান গ্রাফ

আপনি যদি একটি সম্পূর্ণ প্রোগ্রাম ব্যবহার করেন t.apply(1)তবে t.apply(new Integer(a[0]))তার পরিবর্তে হওয়া উচিত । তবে কেন কেবল একটি পদ্ধতি পোস্ট করবেন না? String t(int n){return n>0?t(n-1).replace("x","{x^x_x}"):"x";}এবং যদি চ্যালেঞ্জটির প্রয়োজনীয়তা পুরো প্রোগ্রাম হতে পারে (যা তা নয়), একটি জাভা 7 রিকার্সিভ পদ্ধতি ব্যবহার করা একটি interface Y{static void main(String[]a){System.out.print(t(new Integer(a[0])));}static String t(int n){return n>0?t(n-1).replace("x","{x^x_x}"):"x";}}
ল্যাম্বদার

0

ওল্ফ্রাম ভাষা ( গণিত ) - 40 টি অক্ষর

এখানে সেরা 3 টি উত্তরের সংক্ষিপ্তসার :

40 বাইট:

Nest["{"<>#<>"_"<>#<>"^"<>#<>"}"&,"x",5]

৪১ বাইট:

Nest[StringReplace["x"->"{x^x_x}"],"x",5]

44 বাইট:

Last@SubstitutionSystem["x"->"{x^x_x}","x",5]

3
প্রথমে কয়েক দিন না রেখে অন্যকে নিজের চ্যালেঞ্জের জবাব দেওয়ার পরামর্শ দেওয়া হয় না।
মিস্টার এক্সকোডার

1
আপনার প্রথম কোড স্নিপেটে কি 41 বাইটের প্রয়োজন নেই?
জোনাথন ফ্রেচ

@ মিঃ এক্সকোডার ক্ষমাপ্রার্থী, সম্পাদক ফর্মটি আমার নিজের উত্তর পোস্ট করার বিকল্প হিসাবে পরামর্শ দিয়েছে। আমার উত্তর মুছে ফেলা উচিত?
ভিতালিয় কৌরভ

@ ভিটিলিয়াকৌরভ আমার ধারণা আপনার উচিত, অন্য ব্যবহারকারীরা সম্ভবত এটি খারাপভাবে গ্রহণ করবেন receive
মিঃ এক্সকোডার


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