> 1
> Input
>> 1…2
>> L!
>> L+1
>> L∣2
>> L⋅R
>> 2%L
>> Each 4 3
>> Each 5 9
>> Each 6 10
>> Each 7 11 3
> {0}
>> 12∖13
>> Each 8 14
>> L≠1
>> Each 16 15
>> Each 7 17 15
>> 18∖13
>> [19]
>> 2’
>> 21⋅20
>> Output 22
এটি অনলাইন চেষ্টা করুন!
এটি নন-পিলাই প্রাইমগুলির জন্য একটি খালি তালিকা এবং অন্যথায় একটি খালি খালি তালিকা দেয়।
কিভাবে এটা কাজ করে
হুইস্পারগুলি সঠিক / জটিল সংখ্যায় ম্যানিপুলেশন করার জন্য ডিজাইন করা হয়েছিল, ভাল পরিমাপের জন্য অ্যারে কমান্ডগুলির একটি সামান্য বিট যোগ করা হয়েছিল, সুতরাং Each
উত্পন্ন তালিকাগুলিতে পুনরাবৃত্তি করার জন্য বারবার ব্যবহার করা হয়েছে।
ফিসফিসার কিছুটা পটভূমি:
বেশিরভাগ অন্যান্য ভাষায় সম্পাদনের পথে ফিসফিসার কিছুটা আলাদা। প্রতিটি লাইনের মধ্য দিয়ে কাজ করার পরিবর্তে শর্তসাপেক্ষে কেবল শাখা করা, ফিসফিসারগুলি ফাইলের শেষ লাইনে শুরু হয় >
(নিয়মগুলি এর চেয়ে কিছুটা জটিল, তবে আমাদের এখনই জানা দরকার) এবং সংখ্যার অর্থ লাইনটি শুরু হয় >
বা হয় তার উপর নির্ভর করে ভিন্ন হয় >>
।
যদি লাইনটি শুরু হয় >
, যেমন > 1
বা > Input
, এটি একটি ধ্রুব রেখা - এটি প্রতিবার একই মান প্রদান করে। এখানে, সংখ্যাগুলি তাদের সংখ্যাগত ফর্ম উপস্থাপন করে, তাই ডাকা হলে প্রথম লাইন সর্বদা 1 ফিরে আসবে ।
তবে লাইনটি যদি শুরু হয় >>
তবে সংখ্যাগুলি অন্য লাইনের রেফারেন্স হিসাবে বিবেচনা করা হবে, ফাংশন কলগুলির মতো, যদি আপনি চান। উদাহরণস্বরূপ, লাইনে >> 1…2
, …
এটি পূর্ণসংখ্যা 1 এবং 2 তে কমান্ডটি সম্পাদন করে না , বরং 1 এবং 2 লাইন থেকে ফিরে আসা মানগুলিতে । এই ক্ষেত্রে, এই মানগুলি হ'ল পূর্ণসংখ্যা 1 এবং যে কোনও পূর্ণসংখ্যা আমরা ইনপুট হিসাবে পাস করেছি।
এই উদাহরণস্বরূপ, আসুন 23 এর ইনপুট বিবেচনা করা যাক । মনে রাখবেন যে হুইস্পার্স প্রিপ্রোসেসিংয়ের কারণে দ্বিতীয় লাইন ( > Input
) রূপান্তরিত হয়েছে > 23
।
আমাদের প্রথম কমান্ড লাইন 3 হল: >> 1…2
। …
dyadic পরিসর এই ক্ষেত্রে থেকে হল, 1 থেকে 23 ফলনশীল, {1, 2, ... 22, 23} । এরপরে, আমরা 9 থেকে 12 লাইনে চলে যাব :
>> Each 4 3
>> Each 5 9
>> Each 6 10
>> Each 7 11 3
এখানে আমাদের 4 ধারাবাহিক Each
বিবৃতি রয়েছে, যার প্রতিটি পূর্ববর্তী ফলাফলের সাথে পুনরাবৃত্তি করে, প্রয়োজনীয়ভাবে 4 টি কমান্ড ম্যাপিং 3 টি অ্যারে : রেঞ্জের উপরে। প্রথম তিনটি বিবৃতি 4 , 5 এবং 6 লাইন সহ সাধারণ মানচিত্র :
>> L!
>> L+1
>> L∣2
এই তিনটি কমান্ড, একটি পূর্ণসংখ্যা এন এর উপর , (n! +1) 1x দেয় , যেখানে ! উল্লেখ করে গৌণিক , | উল্লেখ করে divisbility এবং এক্স ইনপুট হয়। অবশেষে, লাইন 12 এর একটি ডায়ডিক মানচিত্র রয়েছে কাঠামো রয়েছে।
একটি ডায়াডিক মানচিত্রের কাঠামোটিতে তিনটি পূর্ণসংখ্যা লাগে: লক্ষ্য, বাম এবং ডান, প্রতিটি সূচি অন্যান্য লাইনে থাকে। এখানে, আমরা জোড়ার তালিকা তৈরির জন্য বাম এবং ডানদিকে জিপ করি, তারপরে ডায়াডিক কমান্ড (লক্ষ্য) দ্বারা প্রতিটি জোড়া হ্রাস করি। এখানে, ইনপুটটি 23 হলে তালিকাগুলি হ'ল {1, 2, ... 22, 23} এবং {0, 0, ... 1, 0} এবং আদেশটি হ'ল
>> L⋅R
যা বাম যুক্তিকে ডান দ্বারা গুণ করে। এটি পূর্ণসংখ্যার সূচকগুলিতে 0 এর সাথে পূর্ণসংখ্যার একটি অ্যারে তৈরি করে, যার ফ্যাক্টরিয়ালগুলি বর্ধিত হয়েছে ইনপুটগুলির দ্বারা বিভাজ্য নয় এবং মূল সূচকটি তারা যেখানে রয়েছে। আমরা এই অ্যারের ডাকবো একটি । এরপরে, আমরা s 0} এবং A এর মধ্যে সেট পার্থক্য নিয়ে A থেকে 0 গুলি সরিয়ে ফেলি :
> {0}
>> 12∖13
উদাহরণস্বরূপ ইনপুট সঙ্গে, এই সেট উত্পাদন করে {14, 18, 22} । এরপরে আমরা সেটটির প্রতিটি মান দিয়ে ভাগ করে নেওয়া ইনপুটটির বাকী অংশ নিই এবং সেই বাকীটি 1 টির সমান নয় কিনা তা পরীক্ষা কর :
>> 2%L
>> Each 8 14
>> L≠1
>> Each 16 15
আবার, আমাদের 0 বা 1 টি এর একটি তালিকা রয়েছে এবং 0 টি অপসারণ করতে হবে এবং 1 টি মূল মানগুলির সাথে প্রতিস্থাপন করতে হবে । এখানে আমরা উপরে উল্লিখিত কোডটির পুনরাবৃত্তি করি, তবে এর >> 18∖13
পরিবর্তে 12
। অবশেষে, আমরা এই ফলাফলটি একটি চূড়ান্ত চেকের জন্য একটি তালিকায় সেট করি। দুর্ভাগ্যক্রমে, আমাদের কোডকে অবশ্যই যৌথ সংখ্যাগুলি প্রত্যাখ্যান করতে হবে যা 437 এর মতো এই সমস্ত মানদণ্ড অর্জন করে । সুতরাং আমরা আমাদের চূড়ান্ত চেক যোগ করি, ইনপুটটির প্রারম্ভিকতা দ্বারা আমাদের চূড়ান্ত তালিকাটি গুণ করি। কীভাবে পাইথন সংখ্যাটি তালিকায় কাজ করে, 0 এটি একটি খালি তালিকা দিয়ে প্রতিস্থাপন করে এবং 1 এর কোনও প্রভাব নেই। সুতরাং আমরা ইনপুটটির প্রারম্ভিকতা গণনা, তালিকা দ্বারা যে গুণ মিইনপুট জন্য s এবং চূড়ান্ত ফলাফল আউটপুট:
>> 2’
>> 21⋅20
>> Output 22