চ্যালেঞ্জ
সুতরাং, হুম, মনে হয়, আমাদের কাছে প্রচুর চ্যালেঞ্জ রয়েছে যা বর্গ সংখ্যা বা অন্যান্য আকারের সংখ্যার সাথে কাজ করে, আমাদের কাছে এমনটি নেই যা কেবল জিজ্ঞাসা করে:
একটি পূর্ণসংখ্যা দেওয়া n
(যেখানে n>=0
) ইনপুট হিসাবে একটি যথার্থ n
বর্গক্ষেত্র হিসাবে সত্যবাদী মান দেয় বা যদি না হয় তবে একটি মিথ্যা মান দেয়।
বিধি
- আপনি যে কোনও যুক্তিসঙ্গত, সুবিধাজনক উপায়ে ইনপুট নিতে পারবেন যতক্ষণ না এটি স্ট্যান্ডার্ড আই / ও বিধি দ্বারা অনুমোদিত ।
- আপনার নির্বাচিত ভাষা নেটিভভাবে যা পরিচালনা করতে পারে তার চেয়ে বড় ইনপুটগুলি হ্যান্ডেল করার দরকার নেই বা যা ভাসমান বিন্দুতে ভুল হতে পারে।
- আউটপুট দুটি ধারাবাহিক সত্য / মিথ্যা মানগুলির মধ্যে একটি হওয়া উচিত (উদাহরণস্বরূপ,
true
বাfalse
,1
বা0
) - সত্য যদি ইনপুটটি একটি নিখুঁত বর্গ হয়, তা না হলে মিথ্যা। - এটি কোড-গল্ফ তাই সর্বনিম্ন বাইট গণনা জয়।
পরীক্ষার মামলা
Input: 0
Output: true
Input: 1
Output: true
Input: 64
Output: true
Input: 88
Output: false
Input: 2147483647
Output: false
2**54-2
যে কমপক্ষে জাভাস্ক্রিপ্টে 18014398509481982 > 9007199254740991
2**54-2
একটি জেএস কনসোলে টাইপ করুন এবং আপনি যা পান তার সাথে তুলনা করুন 18014398509481982
(সঠিক মান)। জেএস সঠিক মান আউটপুট করে, তাই 2**54-2
ডাবল দিয়ে প্রতিনিধিত্বযোগ্য। যদি এটি এখনও আপনাকে বোঝায় না, বাইনারি ডেটা নিন 0100001101001111111111111111111111111111111111111111111111111111
, এটি একটি আইইইই -754 ডাবল-স্পষ্টতা ভাসা হিসাবে ব্যাখ্যা করুন এবং দেখুন আপনি কী মান পাবেন।
18014398509481982
(2**54-2
), যা হয় একটি ডবল সঙ্গে representable এবং উত্তরগুলি ব্যবহার ঘটায়sqrt
ব্যর্থ।