প্রোগ্রামাররা প্রায়শই অঙ্কন ফ্র্যাক্টাল নিয়ে আচ্ছন্ন হয় । আমি মনে করি আমাদের একটি নতুন কম্পিউটার ভিত্তিক মাধ্যম প্রয়োজন।
এইচ গাছ ফ্র্যাক্টাল একটি মোটামুটি সহজ টাইপ অনুভূমিক এবং উল্লম্ব লাইন দিয়ে তৈরি হয়। এটি এটি দশম পুনরাবৃত্তি ( সৌজন্য উইকিপিডিয়া ) এ:
এখন, ভাবুন যে চিত্রটির প্রতিটি লাইন একটি স্ট্যান্ডার্ড কম্পিউটার ফাইল সিস্টেমের একটি ডিরেক্টরি (ফোল্ডার)। ক্ষুদ্রতম রেখাগুলি ব্যতীত সমস্ত দুটি তাদের চেয়ে ছোট দুটি রেখা ছেদ করে; এই দুটি ছোট লাইন বৃহত্তর রেখার উপ ডিরেক্টরি হয়। সুতরাং মাঝখানে বৃহত অনুভূমিক রেখাটি দুটি বৃহত্তম উল্লম্ব রেখার পিতামাতার ডিরেক্টরি, যা চিত্রের বাকী রেখাগুলির পিতা-মাতা, দাদা-দাদী ইত্যাদি রয়েছে are
চ্যালেঞ্জ
এমন একটি প্রোগ্রাম লিখুন যা স্টিডিন বা কমান্ড লাইন (বা নিকটতম বিকল্প) এর মাধ্যমে ধনাত্মক পূর্ণসংখ্যার এন নেবে এবং একটি ডিরেক্টরি ট্রি তৈরি করে যা এইচ ট্রি ফ্র্যাক্টালের Nth পুনরাবৃত্তিকে আয়না দেয়।
প্রথম পুনরাবৃত্তি (N = 1) হ'ল একক অনুভূমিক রেখা। প্রতিটি পরবর্তী পুনরাবৃত্তিতে উল্লম্ব বা অনুভূমিক রেখার একটি নতুন সেট বর্তমান লাইনের প্রান্তে যুক্ত করা হয়। সুতরাং এন = 2 এর জন্য দুটি উল্লম্ব রেখা যুক্ত করা হয় (এইচ আকৃতি তৈরি করা), এন = 3 এর জন্য চারটি অনুভূমিক রেখা যুক্ত করা হয়, ইত্যাদি etc.
মূল ডিরেক্টরিটির নাম অবশ্যই সর্বদা থাকা উচিত tree
। সাবডিরেক্টরি নাম দিক তারা তাদের পিতা বা মাতা লাইন থেকে সম্মান সঙ্গে আছে, ব্যবহার মেলানো right
, left
, up
এবং down
।
যেহেতু মূল ডিরেক্টরিটি সর্বদা একটি অনুভূমিক রেখা থাকে এটি সর্বদা থাকবে right
এবং left
উপ-ডিরেক্টরি হবে। তবে এই দু'জনের থাকবে up
এবং down
উপ-ডিরেক্টরি হবে এবং সেগুলি আবারও থাকবে right
এবং আরও left
।
পুনরাবৃত্তির সীমা শেষে ডিরেক্টরিগুলি খালি থাকা উচিত।
উদাহরণ
এন = 3 এর জন্য ডিরেক্টরি গাছটি দেখতে দেখতে এমন হওয়া উচিত:
tree
right
up
down
left
up
down
অতিরিক্ত তথ্য
- আদর্শভাবে
tree
ডিরেক্টরিটি একই কোড ফোল্ডারে পপ আপ হবে উত্স কোডটি রয়েছে তবে এটি যদি কিছু কার্যকরী ডিরেক্টরিতে যায় তবে তা ঠিক আছে। - আপনি ধরে নিতে পারেন যে আপনার তৈরি করা হবে সেখানে কোনও পূর্ব-বিদ্যমান
tree
ডিরেক্টরি নেই। - আপনি ধরে নিতে পারেন যে আপনার প্রোগ্রামটি সর্বদা একই সাধারণ আধুনিক অপারেটিং সিস্টেমে (ম্যাক / উইন্ডোজ / লিনাক্স) চালিত হবে। মূলত কোনও ফাইল বিভাজক যা সমস্ত ওএস-তে কাজ করে না সেগুলি ব্যবহার করার বিষয়ে চিন্তা করবেন না।
স্কোরিং
এটি কোড-গল্ফ, তাই বাইটের মধ্যে সংক্ষিপ্ততম কোডটি জয়ী।
tree
সর্বদা এর উপ-ডিরেক্টরিগুলি কি সর্বদাleft
এবং এরright
পরিবর্তেup
এবং থাকা উচিতdown
?