পার্ল, 173
আমাকে আর একটি অকেজো সমাধান যুক্ত করুন। এই সমাধানটি এত ধীর যে এটি এমনকি প্রথম অদ্ভুত সংখ্যার অতীতের কিছু আউটপুটও করতে পারে না। আমি সাহস করে বলতে চাই যে এটি এখানে সমস্ত সমাধানের মধ্যে সবচেয়ে ধীর।
$n=<>;$i=2;while($n){$b=qr/^(?=(.+)\1{2}$)((.+)(?=.*(?(2)(?=\2$)\3.+$|(?=\1$)\3.+$))(?=.*(?=\1$)\3+$))+/;$_='x'x3x$i;if(/$b/&&($+[0]>$i)&&!/$b\1{2}$/){print"$i\n";$n--}$i++}
ডেমো
জাভাতে লিখিত একই কোডটি (যার সাথে আমি আরও স্বাচ্ছন্দ্যযুক্ত) এমনকি ২ য় অদ্ভুত নম্বরটি (836) সনাক্ত করতে পারি না এবং আমি ইতিমধ্যে নম্বরটি সরাসরি চেকিং পদ্ধতিতে সরবরাহ করেছি (প্রতিটি সংখ্যা লুপিং এবং পরীক্ষার পরিবর্তে)।
এই সমাধানের মূলটি রেজেক্সে রয়েছে:
^(?=(.+)\1{2}$)((.+)(?=.*(?(2)(?=\2$)\3.+$|(?=\1$)\3.+$))(?=.*(?=\1$)\3+$))+
এবং স্ট্রিংটি কীভাবে আমরা যাচাই করছি তার চেয়ে 3 গুণ সংখ্যা সেট আপ করা আছে।
স্ট্রিংয়ের দৈর্ঘ্যটি আমরা যে সংখ্যায় যাচ্ছিলাম তার চেয়ে 3 গুণ বেশি সেট আপ করা হয়েছে i: প্রথম 2 iউপাদানগুলির সংমিশ্রণের জন্য এবং শেষ 1টি iকোনও সংখ্যার গুণক কিনা তা যাচাই করার জন্য সংরক্ষিত i।
(?=(.+)\1{2}$) আমরা যে নম্বরটি পরীক্ষা করছি তা ক্যাপচার করতে ব্যবহৃত হয়।
((.+)(?=.*(?(2)(?=\2$)\3.+$|(?=\1$)\3.+$))(?=.*(?=\1$)\3+$))+সংখ্যার কারণগুলির সাথে মেলে। পরবর্তী পুনরাবৃত্তি আগের পুনরাবৃত্তির চেয়ে ছোট ফ্যাক্টরের সাথে মিলবে।
- আমরা দেখতে পাচ্ছি যে এই 2 টি অংশ
(.+)এবং (?=.*(?=\1$)\3+$)এক সাথে চেক করা সংখ্যার একটি উপাদান নির্বাচন করে।
(?=.*(?(2)(?=\2$)\3.+$|(?=\1$)\3.+$)) নিশ্চিত করা হয়েছে যে নির্বাচিত গুণকটি প্রথম পুনরাবৃত্তিতে যাচাই করা সংখ্যার চেয়ে ছোট এবং পরবর্তী পুনরাবৃত্তিতে আগের ফ্যাক্টরের চেয়ে ছোট is
রেজেক্স 2 এর সীমাতে যতটা সংখ্যক সংখ্যক ফ্যাক্টর মেলাতে চেষ্টা করে i। তবে আমরা বিভাজনকারীদের যোগফলের প্রকৃত মূল্য সম্পর্কে চিন্তা করি না, কেবলমাত্র সংখ্যাটি প্রচুর whether
তারপরে ২ য় রেজেক্স, যা যুক্তের সাথে প্রথম রেজেক্স \1{2}$। ফলস্বরূপ, রেজেক্স নিশ্চিত করে যে সংখ্যার চেক করা হচ্ছে তার কয়েকটি (কিছু) কারণের যোগফলটি নিজেই সংখ্যার সমান:
^(?=(.+)\1{2}$)((.+)(?=.*(?(2)(?=\2$)\3.+$|(?=\1$)\3.+$))(?=.*(?=\1$)\3+$))+\1{2}$
যুক্ত হওয়া সীমাবদ্ধতার ফলে রেজেক্স ইঞ্জিনকে সমস্ত সম্ভাব্য উপসর্গগুলির পিছনে ব্যাকট্র্যাকিং অনুসন্ধান করতে হবে, সুতরাং এটি অত্যন্ত ধীর হতে চলেছে।