در پست قبلی گفتیم که هدف ساختن اعداد ۰ تا ۲۰۰۹ به کمک ارقام عدد ۲۰۰۹ است (ببینید: بازی با سال نو). کدقبلی، که با Matlab نوشته شده بود، صرفا جایگشت های ۲۰۰۹+-*/^ را آزمایش می کرد و در ۷۸۶۸۷۸ آزمون ۱۰۰۰۰۰ ترکیب درست و ۴۰ عدد متفاوت تولید کرد (بازده ۱۳%).

حالا یک کد C++ ِ کمی سرحال تر نوشته ام که چنین ساختارهایی را بصورت تصادفی و بازگشتی می سازد:

yearly_s.png

در ۷۸۶۸۷۸  آزمایش، این کد ۳۵۱۰۷۸ ترکیب درست ساخت که منتهی به ۳۷ عدد متفاوت شدند (بازده ۴۵%، حدود ۳٫۵ برابر حالت قبل).

try_2.png

پیشنهادی؟ ایده ای؟ هنوز تا ساختن همه ی اعداد ۰ تا ۲۰۰۹ خیلی فاصله داریم.