একটি ধনাত্মক পূর্ণসংখ্যা দেওয়া এন এবং একটি সংখ্যা একটি , এন -th tetration এর একটি হিসাবে সংজ্ঞায়িত করা হয় একটি ^ ( একটি ^ ( একটি ^ (... ^ একটি ))), যেখানে ^ exponentiation (অথবা ক্ষমতা) উল্লেখ করে এবং অভিব্যক্তি রয়েছে সংখ্যা একটি ঠিক এন বার।
অন্য কথায়, টিট্রেশন হ'ল ডান-অ্যাসোসিয়েটিভ ইটারেটেড এক্সপেনসিয়েনশন। জন্য এন = 4 এবং একটি = 1.6 tetration 1,6 ^ (1,6 ^ (1,6 ^ 1,6)) হয় ≈ 3,5743।
N এর সাথে সম্মতি সহ tetration এর বিপরীত ফাংশন হ'ল সুপার-লগারিদম । পূর্ববর্তী উদাহরণে, 4 হ'ল "সুপার-বেস" 1.6 সহ 3.5743 এর সুপার-লগারিদম।
চ্যালেঞ্জ
একটি ধনাত্মক পূর্ণসংখ্যা দেওয়া এন , খুঁজুন এক্স যেমন যে এন সুপার-বেস নিজেই সুপার লগারিদম হয় এক্স । অর্থাত্, x এর মতো x সন্ধান করুন ( x ^ ( x ^ (... ^ x ))) ( x বার এন প্রদর্শিত হবে ) এর সমান n ।
বিধি
প্রোগ্রাম বা ফাংশন অনুমোদিত।
ইনপুট এবং আউটপুট ফর্ম্যাটগুলি যথারীতি নমনীয়।
অ্যালগরিদম সমস্ত ধনাত্মক পূর্ণসংখ্যার জন্য তাত্ত্বিকভাবে কাজ করা উচিত। অনুশীলনে, ইনপুট মেমরি, সময় বা ডেটা-টাইপ বিধিনিষেধের কারণে সর্বাধিক মানের সীমাবদ্ধ হতে পারে। তবে কোডটি 100
কমপক্ষে এক মিনিটেরও কম সময়ে ইনপুটগুলির জন্য কাজ করতে হবে।
অ্যালগরিদমের তাত্ত্বিকভাবে 0.001
নির্ভুলতার সাথে ফলাফল দেওয়া উচিত । অনুশীলনে, আউটপুট যথাযথতা আরও খারাপ হতে পারে কারণ সংখ্যামূলক গণনাগুলিতে জমা হওয়া ত্রুটির কারণে। তবে 0.001
নির্দেশিত পরীক্ষার ক্ষেত্রে আউটপুট অবশ্যই সঠিক হতে হবে ।
সংক্ষিপ্ততম কোড জিতেছে।
পরীক্ষার মামলা
1 -> 1
3 -> 1.635078
6 -> 1.568644
10 -> 1.508498
25 -> 1.458582
50 -> 1.448504
100 -> 1.445673
রেফারেন্স বাস্তবায়ন
মতলব / অষ্টাভে একটি রেফারেন্স প্রয়োগকরণ এখানে রয়েছে (এটি আইডিয়নে চেষ্টা করুন )।
N = 10; % input
t = .0001:.0001:2; % range of possible values: [.0001 .0002 ... 2]
r = t;
for k = 2:N
r = t.^r; % repeated exponentiation, element-wise
end
[~, ind] = min(abs(r-N)); % index of entry of r that is closest to N
result = t(ind);
disp(result)
জন্য N = 10
এই দেয় result = 1.5085
।
নিম্নলিখিত কোডটি ভেরিয়েবল-স্পষ্টতা পাটিগণিত ব্যবহার করে আউটপুট নির্ভুলতার একটি চেক :
N = 10;
x = 1.5085; % result to be tested for that N. Add or subtract 1e-3 to see that
% the obtained y is farther from N
s = num2str(x); % string representation
se = s;
for n = 2:N;
se = [s '^(' se ')']; % build string that evaluates to iterated exponentiation
end
y = vpa(se, 1000) % evaluate with variable-precision arithmetic
এটি দেয়:
- এর জন্য
x = 1.5085
:y = 10.00173...
- এর জন্য
x = 1.5085 + .001
:y = 10.9075
- জন্য
x = 1.5085 - .001
এটা দেয়y = 9.23248
।
নির্ভুলতার 1.5085
সাথে বৈধ সমাধানও তাই .001
।
x
মিলিত যেমন n
অনন্ত পন্থা?