নিম্ন স্তরের কোড অপ্টিমাইজেশনে মাঝারিভাবে থাকা যে কেউ শাখা প্রশাখার বিপদ সম্পর্কে জানেন, এটি যেমন-বিবৃতি, লুপ বা সিলেক্ট-স্টেটমেন্টগুলি যেমন কোনও শাখার ভুল-অনুমানের সম্ভাবনা থাকে তখন তা ভয়ানক ঘড়ির অপচয় হবার জিনিস।
সরল সমস্যাগুলি সরল পাটিগণিতের সাথে আরও ভাল সমাধান করা যায়, তাই আসুন এটি করা যাক।
নিম্নলিখিত সমস্যার জন্য সমস্ত ভেরিয়েবল 32 বিট স্বাক্ষরযুক্ত পূর্ণসংখ্যা এবং কেবলমাত্র অনুমোদিত কোডটি নিম্নোক্ত অপারেটরগুলির সাথে জড়িত সরল সেট স্টেটমেন্টগুলি রয়েছে:
+ addition
- subtraction
* multiplication
/ integer division, rounds down, division by 0 not allowed
% modulo
& binary and
| binary or
^ binary exclusive or
>> bitshift right
<< bitshift left
Logic operators, return 1 if the expression is true and 0 if it is false.
== equal
!= not equal
< less than
<= less than or equal
> greater than
>= greater than or equal
Set operator
=
প্রতিটি লাইনে অবশ্যই একটি ভেরিয়েবল আইডেন্টিফায়ার সমন্বিত সেট অপারেটর এবং তার পরে এক্সপ্রেশন থাকা উচিত।
একটি এক্সপ্রেশন অতিরিক্ত সেট অপারেটর নাও থাকতে পারে তবে এতে ভেরিয়েবল শনাক্তকারী, আক্ষরিক সংখ্যা এবং প্রথম বন্ধনী থাকতে পারে।
গল্ফিং স্কোর কেবল অপারেটরের সংখ্যা গণনা করবে।
উদাহরণ:
myvar = ( ( ( foo + 5 ) * bar ) % 7 ) == 3
অপারেটর স্কোর আছে 5।
কোনও সমাধানে লেখক যতটা ফিট দেখতে পান ততগুলি ভেরিয়েবল অন্তর্ভুক্ত করতে পারে।
যে ভেরিয়েবলগুলি সেট করা হয়নি সেগুলির মান রয়েছে 0
।
ওভারফ্লো এবং underflow অনুমতি দেওয়া হয়, সমস্ত ঋণাত্মক সংখ্যা underflow, তাই 3 - 5
হয় 4294967294
এমনকি একটি বড় বিবৃতি অংশ হিসেবে।
কার্য 1: সর্বাধিক
দুটি মান, A
এবং B
, সুযোগে বিদ্যমান, RESULT
যখন প্রোগ্রামটি শেষ হয় তখন ভেরিয়েবলটি সেই মানগুলির মধ্যে সবচেয়ে বেশি থাকে।
টাস্ক 2: মিডিয়ান
তিন মূল্যবোধ, A
, B
এবং C
, সুযোগ বিদ্যমান, করতে RESULT
পরিবর্তনশীল যারা মান যখন প্রোগ্রাম বন্ধ মধ্যমা ধারণ করে।
কার্য 3: বর্গমূল
একটি মান, A
সুযোগের মধ্যে উপস্থিত RESULT
রয়েছে A
, প্রোগ্রামটি শেষ হয়ে গেলে ভেরিয়েবলের বর্গমূলকে বৃত্তাকার নীচে করে তোলে ।
কেবলমাত্র একটি বা দুটি প্রশ্নের উত্তর পোস্ট করা ঠিক আছে, আপনারা কারও কাছে বৈধ সমাধান খুঁজে পাওয়া চ্যালেঞ্জ হবে।
0xFFFF_FFFF_FFFF_FFFF ^ x
এবং 0 - x
। আমি কীভাবে ভুলে যেতে পারি?
!
বেশ তুচ্ছ হল: x == 0
।
Boole[a-b]
?
-
তবে~
সুন্দর হতে পারতাম (আমি কী জন্য জানি না)।