চ্যালেঞ্জ:
সামাজিক নেটওয়ার্কগুলিতে একটি নির্বোধ ধাঁধা প্রচলিত রয়েছে যা পড়ে:
8 + 2 = 16106
5 + 4 = 2091
9 + 6 = ?
একটি ফাংশন বা অপারেটর বাস্তবায়ন যে দুটি ধনাত্মক পূর্ণসংখ্যা সংখ্যার দেওয়া x
এবং y
যেমন যে x > y > 0
, একটি সঠিক উত্তর হিসাবে উৎপাদ পূর্ণসংখ্যা , উত্তর কই এর সংখ্যা ডিজিটের হয় x * y
ডিজিটের দ্বারা অনুসরণ x + y
টি সংখ্যা দ্বারা অনুসরণ x - y
। খুব সহজ.
নিয়মাবলী:
- স্ট্যান্ডার্ড লুফোলগুলি অনুমোদিত নয়।
- এটি কোড-গল্ফ তাই বাইট জিতে সংক্ষিপ্ততম কোড।
- ইনপুট ডেটা বৈধতা প্রয়োজন হয় না । অবৈধ ইনপুট দেওয়া হলে এই প্রোগ্রামটি ক্র্যাশ বা আবর্জনা ফিরে আসতে পারে।
- আপনাকে সংখ্যাসূচক ফাংশন এবং অপারেটরগুলি (পূর্ণসংখ্যার এবং ভাসমান পয়েন্ট, গণিত গ্রন্থাগার ফাংশন এবং অন্যান্য ক্রিয়াকলাপগুলি গ্রহণ করে এবং ফেরত নম্বরগুলি সহ) ব্যবহার করার অনুমতি দেওয়া হয়েছে।
- আপনার যদি এমন কোনও ফাংশন ব্যবহারের অনুমতি দেওয়া হয় যা প্রযোজ্য হয় তবে কোনও সংখ্যার অঙ্কের সংখ্যা প্রদান করে।
- তুমি না স্ট্রিং অথবা আপনার কোডে সংযুক্তকরণের জন্য যে কোন জায়গায় যে কোন ধরণের ব্যবহার করার অনুমতি দেওয়া।
- ভাষার যে কোনও ক্ষেত্রে ফল প্রয়োগ বা স্ট্যাকের দিকে ধাক্কা দেওয়া যেতে পারে। ফলাফলটি অবশ্যই একটি পূর্ণসংখ্যার সংখ্যা হতে হবে, একটি স্ট্রিং নয়।
কোডের উদাহরণ:
নিম্নলিখিত কোডটি একটি ডায়াডিক অপারেটর তৈরি করে X
।
এক্স ← {(⍺-⍵) + + ((⍺ + + ⍵) × 10 * 1 + + ⌊10⍟⍺-⍵) + + ⍺ × ⍵ × 10 * (2 + + ⌊10⍟⍺ + + ⍵) + + ⌊10⍟⍺- ⍵}
ব্যাখ্যা:
এপিএলে, আপনি ডান থেকে বামে মূল্যায়ন করেন।
⍺ and ⍵
যথাক্রমে বাম এবং ডান অপরেন্দ্র⌊10⍟⍺-⍵
লেখা আছে:floor of log10(⍺-⍵)
। প্রথমে সাবস্ট্রাকশন করে তারপরে লোগারিদম তারপর তল। ডান থেকে বামে। লগ 10 এর অঙ্কগুলি গণনা করার জন্য করা হয়⍺-⍵
(আপনার পরে 1 টি যোগ করতে হবে)।⍺×⍵×10*(...)
লেখা আছে:10 to the (...)th power, multiplied by ⍵, multiplied by ⍺
সুতরাং,
⍺×⍵×10*(2+⌊10⍟⍺+⍵)+⌊10⍟⍺-⍵
যোগফলের সংখ্যা এবং পার্থক্যের সংখ্যার যোগফল দ্বারা পণ্যটি বামে স্থানান্তরিত হয়। 10 এর পাওয়ার দ্বারা গুণিত করা একটি পূর্ণসংখ্যা বামে স্থানান্তরিত করে।((⍺+⍵)×10*1+⌊10⍟⍺-⍵)
পার্থক্যের সংখ্যা সংখ্যা দ্বারা বামে স্থানান্তরিত করা যোগফল।(⍺-⍵)
পার্থক্য। এখানে কোন স্থানান্তর প্রয়োজন।X←{...}
আপনি কীভাবে এপিএলে কোনও অপারেটরকে সংজ্ঞায়িত করেন।
উদাহরণ:
8 X 2
16106
5 X 4
2091
9 X 6
54153
জিএনইউ ডিসি:
নিম্নলিখিত কোডটি একটি ম্যাক্রো নামক তৈরি করে a
:
[sysx10lxly-dseZdsclxly+dsd+Z1+^lxly**10lc^ld*+le+]sa
ব্যাখ্যা:
sx
এবংsy
স্ট্যাকের থেকে একটি উপাদান পপ এবং রেজিস্টার এটি সংরক্ষণx
এবংy
যথাক্রমে।lx
এবংly
রেজিস্টারx
এবংy
যথাক্রমে একটি উপাদান লোড করুন এবং এটি স্ট্যাকের দিকে ধাক্কা।d
স্ট্যাকের শেষ উপাদানটি নকল করে।^
দুটি সংখ্যার শক্তি গণনা করে।Z
একটি সংখ্যা পপ করে এবং তার সংখ্যাটি প্রদান করে। এটি করা হয়েছে কারণdc
কোনও লগারিদম ফাংশন নেই।[...]sa
রেজিস্টার একটি ম্যাক্রো সঞ্চয়a
।la
এটি বোঝা।x
স্ট্যাকের শীর্ষে ম্যাক্রো চালায়।
উদাহরণ:
8 2 laxn
16106
5 4 laxn
2091
9 6 laxn
54153