চ্যালেঞ্জ:
কোনও ফাংশন বা প্রোগ্রাম লিখুন যা বুলিয়ান মানগুলির একটি তালিকা গ্রহণ করে এবং সত্যের সমস্ত ব্যাপ্তি প্রদান করে।
পরীক্ষার কেস:
f [F] = []
f [T] = [[0,0]]
f [T,T,F,T] = [[0,1],[3,3]]
f [F,T,T,F,F,T,T,T] = [[1,2],[5,7]]
f [F,T,T,F,F,F,T,T,T,T] = [[1,2],[6,9]]
f [T,T,F,F,F,T,T,T,T,T,T,T,T,T,T,F] = [[0,1],[5,14]]
f [F,F,T,T,F,F,F,F,F,F,F,F,T,T,T,T,T,T,T,T,F,F,F,F,F,F,F,F,F,F,F,F,F,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,T,T] = [[2,3],[12,19],[33,54],[93,94]]
নিয়মাবলী:
- আপনি কীভাবে ইনপুট এনকোড করা চয়ন করতে পারেন, যেমন একটি তালিকা, অ্যারে, স্ট্রিং ইত্যাদি,
- আউটপুট অবশ্যই তালিকার মতো তালিকার মতো বা স্ট্রিংয়ের মতো স্ট্রিং হিসাবে এনকোড হওয়া আবশ্যক, সুতরাং অ্যারে, তালিকা, টিপলস, ম্যাট্রিকেস, ভেক্টর ইত্যাদি showing
- বুলিয়ান মানগুলি অবশ্যই ধ্রুবক হিসাবে এনকোড করা উচিত, তবে অন্যথায় পছন্দসই ধ্রুবকগুলিতে টি / এফের কোনও সহজ রূপান্তর অনুমোদিত
- সম্পাদনা: রানটাইম আইএস চলাকালীন ইয়াল বা অনুরূপ অনুমোদিত।
- কীভাবে প্রোগ্রাম / ফাংশনে ইনপুটটি পাস হয় তা ব্যাখ্যা করতে এবং পরীক্ষার ক্ষেত্রে এর ইনপুট / আউটপুট দিতে ভুলবেন না
- পছন্দসই ইনপুট বিন্যাসে রূপান্তর গণনা করা হয়নি
- স্ট্যান্ডার্ড লুফোলগুলি অনুমোদিত নয়
- আপনার ভাষার যদি এটি করার কোনও কার্য থাকে তবে এটি অনুমোদিত নয় it's
- আমি আমার নিজের জমা গ্রহণ করব না
- সম্পাদনা: আউটপুট ফর্ম্যাট নমনীয়। একটি তালিকা বা অনুরূপ মুদ্রণ না করা হলে, পরিসরের মানগুলি অবশ্যই একটি অ-সংখ্যাসূচক অক্ষর এবং পৃথক রেঞ্জ দ্বারা পৃথক করা উচিত।
স্কোরিং:
- স্কোরটি বাইটে থাকে, যদি না আপনার ভাষা (যেমন পিটে কোডেল)
- সর্বনিম্ন স্কোর জয়
ইনপুট এবং আউটপুটটিতে বেশ কিছুটা নমনীয়তা রয়েছে, তবে সমস্ত কাজ করার মতো ফাংশনগুলির সাথে টি / এফ প্রতিস্থাপনের সমাধানগুলি অনুমোদিত নয়।
ডিবাগিং:
আপনি যদি হাসকেলে লিখে থাকেন বা হাসকল থেকে ফোন করতে পারেন, নীচে আপনার কার্য / প্রোগ্রামটি যাচাই করবে:
import Test.QuickCheck
tf = cycle [True,False]
gen l = foldl (++) [] $ map (\i -> [tf!!i | x<-[1..i]]) l
putIn (a,b) l = zipWith (||) l [(a <= p) && (p <= b) | p <- [0..length l]]
putAllIn rs len = foldr putIn [False|i<-[1..len]] rs
main = print $ quickCheck (check functionNameGoesHere)