পরিচিতি:
উইন্ডোজের একটি স্ট্যান্ডার্ড ক্যালকুলেটরটি একবার দেখে নেওয়া যাক:
এই চ্যালেঞ্জের জন্য আমরা কেবলমাত্র নীচের বোতামগুলিতে নজর দেব এবং অন্য সমস্ত কিছু উপেক্ষা করব:
7 8 9 /
4 5 6 *
1 2 3 -
0 0 . +
চ্যালেঞ্জ:
ইনপুট:
আপনি দুটি ইনপুট পাবেন:
- একটি 90 ডিগ্রির ইনক্রিমেন্টে ঘূর্ণনটি নির্দেশ করার একটি জিনিস
- অন্যটি আবর্তিত ক্যালকুলেটরে টিপানো বোতামগুলির প্রতিনিধিত্বকারী স্থানাঙ্কগুলির একটি তালিকা।
প্রথম ইনপুট এর উপর ভিত্তি করে, আমরা 90 ডিগ্রির ইনক্রিমেন্টে উপরে উল্লিখিত লেআউটটি ঘড়ির কাঁটার দিকে ঘোরান। সুতরাং ইনপুট যদি হয় 0 degrees
, এটি যেমন আছে তেমন থাকে; তবে যদি ইনপুটটি হয় তবে 270 degrees
এটি তিনবার ঘড়ির কাঁটার (অথবা একবার ঘড়ির কাঁটার দিকে) ঘোরানো হবে। এখানে চারটি সম্ভাব্য লে-আউট রয়েছে:
Default / 0 degrees:
7 8 9 /
4 5 6 *
1 2 3 -
0 0 . +
90 degrees clockwise:
0 1 4 7
0 2 5 8
. 3 6 9
+ - * /
180 degrees:
+ . 0 0
- 3 2 1
* 6 5 4
/ 9 8 7
270 degrees clockwise / 90 degrees counterclockwise:
/ * - +
9 6 3 .
8 5 2 0
7 4 1 0
দ্বিতীয় ইনপুট কোনো যুক্তিসংগত বিন্যাসে স্থানাংক একটি তালিকা রয়েছে † । উদাহরণস্বরূপ (0-সূচক 2D পূর্ণসংখ্যার অ্যারে):
[[1,2],[2,3],[0,3],[1,0],[1,1]]
আউটপুট:
আমরা উভয়ফল যোগফল, পাশাপাশি ফলাফল (এবং সমান চিহ্ন =
)।
উদাহরণ:
সুতরাং যদি ইনপুট হয় 270 degrees
এবং [[1,2],[2,3],[0,3],[1,0],[1,1]]
, আউটপুটটি হয়ে যাবে:
517*6=3102
চ্যালেঞ্জ নিয়ম:
- P ইনপুটগুলি যে কোনও যুক্তিসঙ্গত বিন্যাসে থাকতে পারে। প্রথম ইনপুট হতে পারে
0-3
,1-4
,A-D
,0,90,180,270
, ইত্যাদি দ্বিতীয় ইনপুট 0-ইন্ডেক্স 2D অ্যারে, 1-ইন্ডেক্স 2D অ্যারে, একটি স্ট্রিং, পয়েন্ট-বস্তুর তালিকা, ইত্যাদি আপনার কলের হতে পারে। এমনকি দেওয়া ইনপুটগুলির তুলনায় x এবং y স্থানাঙ্কের অদলবদল করা এমনকি সম্ভব। আপনার উত্তরটিতে কোন ইনপুট ফর্ম্যাটগুলি ব্যবহার করেছেন দয়া করে তা জানান! - আপনি চাইলে স্পেস যুক্ত করতে পারবেন (যেমন
517 * 6 = 3102
) are - কম্মার পরে আপনাকে সর্বোচ্চ তিনটি (যেমন
3102.0
/3102.00
/3102.000
পরিবর্তে3102
বা0.430
পরিবর্তে0.43
) এর সাথে জেরোগুলি অনুসরণ করার অনুমতি দেওয়া হবে । - আউটপুটে আপনাকে প্রথম বন্ধনী যুক্ত করার অনুমতি নেই, সুতরাং
(((0.6+4)-0)/2)/4=0.575
একটি বৈধ আউটপুট নয়। - আপনার ভাষার জন্য আপনাকে অন্যান্য অপেরাড-চিহ্ন ব্যবহার করার অনুমতি দেওয়া হচ্ছে। সুতরাং
×
বা·
পরিবর্তে*
; বা÷
পরিবর্তে/
; প্রভৃতি - যেহেতু কোনও ক্যালকুলেটর অপারেন্ডকে ইনপুট দেওয়ার সময় স্বয়ংক্রিয়ভাবে গণনা করে, আপনার অপারেটরের অগ্রাধিকারটি উপেক্ষা করা উচিত! সুতরাং
10+5*3
পরিণাম ডেকে আনবে45
((10+5)*3=45
), না25
(10+(5*3)=25
)
(অর্থাত10
→+
→5
→*
(এটা এখন প্রদর্শন 15 প্রদর্শনে) →3
→=
(এটা এখন উত্তর প্রদর্শন করা45
))।eval
ফলাফলের সমষ্টিতে ব্যবহার করার সময় এবং অনুরূপ ফাংশনগুলিতে এটি মনে রাখবেন । - 0 দ্বারা বিভাগের জন্য কোনও পরীক্ষার মামলা হবে না।
- ফলস্বরূপ তিন দশমিক বেশি সংখ্যার সাথে কোনও পরীক্ষার মামলা হবে না, সুতরাং ফলাফলটি গোল করার প্রয়োজন নেই।
- একাধিক অপারেশন একে অপরকে অনুসরণ করে বা যেখানে দুটি বিন্দু একে অপরকে অনুসরণ করে সেখানে কোনও পরীক্ষার ঘটনা ঘটবে না।
- নেতিবাচক সংখ্যার জন্য কোনও পরীক্ষার মামলা হবে না। বিয়োগ চিহ্ন (
-
) কেবলমাত্র অপারেন্ড হিসাবে ব্যবহৃত হবে, নেতিবাচক হিসাবে নয়। .##
কমা হওয়ার আগে একটি শীর্ষস্থানীয় সংখ্যা ছাড়া কোনও পরীক্ষার মামলা2+.7
থাকবে না (অর্থাত্ একটি বৈধ পরীক্ষার কেস হবে না, তবে তা2+0.7
হতে পারে)।
সাধারণ নিয়ম:
- এটি কোড-গল্ফ , তাই বাইট জেতে সংক্ষিপ্ত উত্তর।
কোড-গল্ফ ভাষাগুলি আপনাকে নন-কোডগলফিং ভাষার সাথে উত্তর পোস্ট করতে নিরুৎসাহিত করবেন না। 'যে কোনও' প্রোগ্রামিং ভাষার জন্য যতটা সম্ভব সংক্ষিপ্ত উত্তর নিয়ে আসার চেষ্টা করুন। - স্ট্যান্ডার্ড নিয়মগুলি আপনার উত্তরের জন্য প্রযোজ্য , সুতরাং আপনাকে সঠিক পরামিতি, সম্পূর্ণ প্রোগ্রামগুলি সহ STDIN / STDOUT, ফাংশন / পদ্ধতি ব্যবহারের অনুমতি দেওয়া হবে। আপনার কল
- ডিফল্ট লুফোলগুলি নিষিদ্ধ।
- যদি সম্ভব হয় তবে আপনার কোডের জন্য একটি পরীক্ষার সাথে একটি লিঙ্ক যুক্ত করুন।
- এছাড়াও, প্রয়োজনে একটি ব্যাখ্যা যোগ করুন।
পরীক্ষার কেস:
Input: 270 degrees & [[1,2],[2,3],[0,3],[1,0],[1,1]]
Output: 517*6=3102
Input: 90 degrees & [[3,1],[0,0],[0,1],[3,3],[2,0],[0,3],[0,0],[0,2],[3,0],[2,1]]
Output: 800/4+0.75=200.75
Input: 0 degrees & [[0,0],[1,0],[2,0],[3,0],[1,2],[2,1],[2,2]]
Output: 789/263=3
Input: 180 degrees & [[3,0],[1,0],[1,2],[0,0],[3,2],[0,1],[2,0],[0,3],[2,1],[0,3],[3,2]]
Output: 0.6+4-0/2/4=0.575
1+-*/+-*/2
দেয় 0.5
(10) ক্যালকুলেটর।
[1,3],
2+.7
?