مشاهده نسخه کامل
: تاپیک جدول سودوکو
قاهر - Gahir
12-02-2010, 20:43
بـــــــا نـــــــام خـــــــدا
ســــــــــــــودوکــــــ ـــو
با سلام خدمت تمامی دوستان دانشمند و عزیز و در کل حلالین جداویل سودوکوی مشهور !
در کل ، حتما ، بیشک شما دوستان اسم سودوکو به گوشتون رسیده اگر هم نرسیده ، حتما رسوندن !
سودوکو یک بازی و سرگرمی فکری ژاپنی است که در طی چندین سال همهگیر شد ! ...
تاریخچه
数独 به زبان ژاپنی یعنی سودوکو ، بازی با اعداد و ... در جهان اسامی زیادی به خود گرفته ! ...
سودوکو (به ژاپنی: 数独) جدول اعدادی است که امروزه یکی از سرگرمیهای رایج در کشورهای مختلف جهان (از جمله ایران) به شمار میآید.
سودوکو، مخفف یک عبارت ژاپنی 数字は独身に限る که خوانده میشود سوجی وا دوکوشین نی کاگیرو به معنی «ارقام باید تنها باشند» است.
اولین بار یک بازی با ارقام شبیه به سودوکو در نوامبر 19 سال 1892 در یک روزنامهی فرانسوی به نام روزنامهی La France طراحی و منتشر شد هر چند این بازی برای اولین بار در یک مجله پازل آمریکایی (به نام Dell Magazines ) در سال ۱۹۷۹ انتشار یافت (در ضمن دوستان ، خالق این بازی هم یک شخص آمریکایی بود) ، ولی انتشار آن به طور مستمر و پیگیر برای نخستین مرتبه بر میگردد به ژاپن در ۱۹۸۶ و از سال ۲۰۰۵ این سرگرمی به محبوبیت جهانی دست یافت و نخستین مسابقه ملی آن در سال ۲۰۰۸ در فیلادلفیای آمریکا برگزار شد.
قانون بازی
نوع متداول سودوکو یک جدول ۹x۹ است (و ما در این تاپیک نیز سعی میکنیم اکثرا از این اندازه استفاده کنیم) که کل جدول هم به ۹ جدول کوچکتر ۳x۳ تقسیم شدهاست. در این جدول چند عدد به طور پیش فرض قرار داه شده که باید باقی اعداد را با رعایت سه قانون زیر یافت:
قانون اول: در هر سطر جدول اعداد ۱ الی ۹ بدون تکرار قرار گیرد.
قانون دوم: در هر ستون جدول اعداد ۱ الی ۹ بدون تکرار قرار گیرد.
قانون سوم: در هر ناحیه ۳x۳ جدول اعداد ۱ الی ۹ بدون تکرار قرار گیرد.
روش حل
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] D9%83%D9%88.png
با در نظر داشتن سودوکوی بالایی :
ابتدا در تمام خانههای خالی جدول، اعداد را از یک تا نه مینویسیم.
سپس به سراغ یکی از اعدادی که از قبل توسط طراح نوشته شده میرویم و تمام اعداد مشابه آن را که در عرضش (بصورت افقی) قرار گرفتهاند را پاک میکنیم و سپس یک خط افقی در بالای آن عدد میکشیم که مشخص باشد.
در این مرحله همانند مرحله قبل عمل میکنیم با این اختلاف که در تمام خانههای عمودی در بالا یا پایین عدد مورد نظر اعداد مشابه را پاک میکنیم وسپس با یک خط عمودی در کنار آن عدد آن را مشخص مینماییم. اکنون باید اعداد مشابه عدد مورد نظر را در مربع نه خانهای متناظر، پاک کنیم وعدد را با یک دایره بر دور آن مشخص کنیم.
فقط سه مرحله قبلی را در مورد تمام اعداد از قبل نوشته شده (اعداد چاپی) تکرار کنیم و کشیدن خطهای عمودی افقی و دایره را بر آن عددها نباید فراموش کنیم که این عمل میتواند به شما نشان دهد که کدام یک از قلم افتادهاست.
وقتی که تمام اعداد چاپی با هر سه علامت مشخص شد کار ما تا این مرحله تمام شدهاست. در این مرحله به دنبال خانههایی میگردیم که فقط یک عدد در آنها باقی مانده و آن اعداد را پررنگ میکنیم.
ما باید در هر ستون نیز عددی را که فقط یکبار درآن ستون آمده را پیدا کنیم که این عدد یقینا جواب همان خانهاست و این عدد را هم پررنگ کنیم. اکنون در هر مربع نه خانهای عددی را که فقط یکبار در این نه خانه آمدهاست را یافته و به عنوان جواب یادداشت میکنیم.حل جدول بالا را در زیر میبینید:
534678912
672195348
198342567
859761423
426853791
713924856
961537284
287419635
345286179
مطالبی آخری برگفته از دانشنامهی آزاد ویکیپدیا + تصحیح و تغییر و اعتیار سازی توسط خودم
توجه : استفادهی درست و طاقت فرسای این بازی و سرگرمی به صورت طولانی مدت و شدید و بدون برنامهریزی برای عدهی زیادی از دوستان به شدت اعتیاد آور است و گاهی ممکن است اختلالاتی در فرد ایجاد کند و او را از کار و زندگی بیاندازد و فقط کین و کتابش همین سودوکو باشد ؛ این حرف از روی تجربهی بنده است !
با تشکر از شما : قاهر .
قاهر - Gahir
12-02-2010, 20:48
قــــوانـــیــــن
خوب دوستان ، برای اینکه ما بتوانیم به بهترین نحو سودوکوها را حل یا طراحی کنیم و در این تاپیک قرار بدیم ، نیاز داریم که قوانین حاکم رو به نحو احسن انجام بدیم .
قابل توجه دوستان حرفهای و دغلباز عزیز ( البته دغلباز که نه ولی راحت طلب ) باید بگویم که برای حل این جداول به هیچ عنوان از برنامهها استفاده نکنید ! چرا که برنامههای کامپیوتری زیادی برای اینکار درست شدن و خودمم توی کف این برنامههام و تقریبا همهی برنامهها رو هم در اختیار دارم ! ... در ضمن اگه دوست داشتید میتونید :دی ... خودتون برنامهی حل کنندهی این بازیها رو به زبان C یا ++C یا حتی Basic و ... درست کنید ! ! ! ! :31::27: ... ولی لطفا و خواهشا از برنامههای حلال این بازی برای این تاپیک استفاده نکنید مگر اینکه در شرایط خاص که فقط یک تبصره براشون هست که در قسمت تبصره مینویسم که چه موقع میتونید ازشون برای حل جداول در این تاپیک استفاده کنید .
دوستان ، شما میتوانید ضمن پاسخگویی به جداول یا غیر ، هر گونه سوالات ، ابهامات و بحثها و گفتگوهایی که دارید رو در تاپیک بیان کنید تا علاوه بر اینکه در مباحث شرکت داشته باشید ، بتوانید مشکلات خودتان را بیان یا مشکلات دیگران را حل کنید .
تبصره :
اگر در زمان مقرر که در بازههای زمانی مختلف ، متفاوت است ! ... کسی به سودوکوها جواب نداد -- شما در صورتی که خودتان هم حل آن سودوکو را بلد نیستید -- میتوانید از برنامه برای حل سودوکو استفاده کنید .
زمان مقرر زمانی است که باید سودوکو جواب داده شود ، مثلا یه سودوکو که سطحش آسان باشد حداکثر زمان مقرر برایش میتواند یک هفته باشد ! ... و اگر در این زمان ( مثلا یک هفته ) کسی به آخرین سودوکو جواب نداده است ، میتوانید از برنامههای حلال این بازی برای این منظور استفاده کنید .
زمان مقرر برای سطوح مختلف سختی و آسانی Sudoko ها :
برای سودوکوهای خیلی آسان ، حداکثر زمان برای پاسخگویی : 3 روز .
برای سودوکوهای آسان ، حداکثر زمان برای پاسخگویی : 5 روز .
برای سودوکوهای استاندارد ، حداکثر زمان برای پاسخگویی : 6 روز .
برای سودوکوهای متوسط استاندارد ، حداکثر زمان برای پاسخگویی : 7 روز .
برای سودوکوهای متوسط ، حداکثر زمان برای پاسخگویی : 9 روز .
برای سودوکوهای سخت ، حداکثر زمان برای پاسخگویی : 12 روز .
برای سودوکوهای سخت سر خور ، حداکثر زمان برای پاسخگویی : 15 روز .
برای سودوکوهای خیلی سخت ، حداکثر زمان برای پاسخگویی : 1 ماه ! .
برای سودوکوهای غیر ممکن ، حداکثر زمان برای پاسخگویی : 2 ماه .
توجه ویژه : بعد از قرار دادن سودوکو و مشخص کردن سختی آن و با مشخص بودن حداکثر زمان برای پاسخگویی ، چنانچه کسی نتوانست پاسخ سودوکوی مربوطه را بدهد ، طراح موظف است که در یک پست جداگانه جواب سودکو را قرار دهد و در پست بعدی ، سودکوی جدیدی را طراحی کرده یا به صورت آماده طراحی شده در تاپیک قرار دهد .
توجه ویژه : این اسامی که برای سطوح مختلف سودوکوها در نظر گرفته شده است ، فقط جنبهی نمایش نوع سختی سودوکو را داراست و برای اطلاع حل کنندگان عزیز است .
اگر دوستان طراح ، هنگام قرار دادن سودکو در صورتی که میزان سختی آن سودکوی مربوطه در لیست بالایی وجود نداشته باشد، میتوانند در هنگام قرار دادن سودوکو ، میزان سختی آن را نیز تعریف کنند و حداکثر زمان برای پاسخ گویی را نیز قید نمایند .
قوانین برای حل کنندگان عزیز :
اگه تونستید در زمان مقرر ، کل جدول رو یا به صورت عددی یا به صورت عکس ارسال کنید .
اگر روش خواصی برای زودتر جواب دادن دارید، حتما آن روش رو دقیقا قید کنید .
کسی که یک سودوکو را کامل حل کرده است ، میتواند سودوکوای که خود او طراحی کرده یا از پیش طراحی شده است را در تاپیک قرار دهد.
قوانین برای طراحان یا کسانی که سودوکوهای آماده رو قرار میدند :
جدولهای سودوکو ، فقط سودوکوهای ساده (کلاسیک) نه x نه (9×9) باشند .
بعد از قرار دادن سودوکو ، حتما سطح سختی و آسانی آن را مشخص کنید .
سودوکوای که یا به صورت عکس است یا به صورت نوشته ، باید دقیق و درست باشد و احتمال اشکال و خطا در آن وجود نداشته باشد .
شخص طراح در صورت امکان جواب سودوکو را نیز در دست داشته باشد تا اگر کسی برای جواب دادنش پیدا نشد ، آن جواب را در تاپیک قرار دهد .
اندازهی سودوکو باید حداکثر 700 × 700 باشد و حداقل اندازهی سودوکوی باید 100 × 100 باشد .
راه حل برای کسانی که واقعا قصد حل این سودوکوها رو دارن :
چون ممکنه حل هر یک از سودوکوها زمان و انرژی زیادی از فرد بگیره ، و برخی از اشخاص نتونن روی میز کاری کامپیوتر این جداول رو حل کنند یا ممکنه در کافینت به سر ببرند ، پس ، شما میتونید صفحهای که حاوی جدول سودوکو است را چاپ کنید ؛ برای اینکار میتوانید از اختیارات این تاپیک استفاده کنید ، ... بدین ترتیب در قسمت چپ-بالای تاپیک دکمهی کرکرهای به نام اختيارات تاپيک هست که با زدن دکمهی [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]نمايش نسخه براي چاپ ، فقط صفحهای که حاوی جدول مربوطه است رو چاپ کنید و در هر کجای گیتی که راحت هستید ، برید و جداول رو حل کنید .
با تشکر از توجهتون : قاهر .
قاهر - Gahir
13-02-2010, 09:31
خوب دوستان ، برای شروع کار :
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
خوب دوستان اگر احتمالا عکس دیده نشه ، از نسخهی نوشتهای سودوکوی بالا استفاده کنید :
توجه : در اینجا اعداد "0 " در حکم فضای خالی هستند .
527000604
016048020
009020035
001200000
290600400
074030012
900150200
102080597
700002800
با تشکر از شما : قاهر .
.:HAMED:.
14-02-2010, 10:21
حالا بیا اینو برامون یاد بده و دوسه تا شبیه اینم یاد بده نه اینکه توضیحات بالایی رو باز تکرار کنی.بیا مثلا بگو الان به جای این صفر چی باید بذاریم و از کجا میدونیم که باید این عدد باشه.
527
016
قاهر - Gahir
14-02-2010, 14:28
حالا بیا اینو برامون یاد بده و دوسه تا شبیه اینم یاد بده نه اینکه توضیحات بالایی رو باز تکرار کنی.بیا مثلا بگو الان به جای این صفر چی باید بذاریم و از کجا میدونیم که باید این عدد باشه.
527
016
سلام دوست عزیز ،
برای حل سودوکو همونطوری که شاید در قوانین گفته شده ، برای راحتی هر چه بیشتر باید قسمت بندیش بکنی . ولی چون گفتی که حرفای بالایی رو کپی نکنم ، برات مطالب خودم رو میگم ! ...
باید اولا یک قسمت از 9 قسمتِ 3 × 3 ی این سودکو رو در نظر بگیری (که میشه یک مربع از 9 تا مربع کوچک) علاوه بر در نظر داشتن هر سطر و هر ستون ! ...
حالا من قسمت سمت چپ-بالا رو در نظر گرفتم ، یعنی این قسمت که این اعداد رو داره ( که خودت هم همینرو گفتی) :
527
016
009
چون باید در هر قسمت 3 × 3 ، هر عدد فقط یک بار وجود داشته باشه و بدون تکرار هم باشه ، پس ، در این قسمت ما اعدادی که مجاز به استفادهی آنها هستیم ، اعداد 3 و 4 و 8 هستند !
حال به صورت افقی و عمودی به سودوکو نگاه میکنیم ببینم که این اعدادی که باید در این قسمتها قرار گیرند ، در ستون و سطر متناظرش تکرار شدهاند یا نه ؟!
همین اولین جای خالی رو بررسی میکنم ، که سوال خودِتم بود ( صفر قرمز رنگ رو میگم : 0 ) :
527
016
009
در سطر متناظر این عدد یعنی « 0 » این اعداد هم هستند :
016048020
دیگه چون سادست ، برای پیچیدهتر شدن ، جایز دونستم که اعداد ستون متناظر « 0 » رو ننویسم ! ... ( نوشتن و ننوشتنشون در حلش تاثیری نداره!)
یعنی ، چون ما در مربع 3 × 3 ی قسمت چپ-بالای این سودوکو فقط به صفرهاش میتونستیم عددهای 3 و 4 و 8 رو قرار بدیم ، پس چون در این سطر هم عدد 4 و هم عدد 8 هست ، پس به ناچار بجای 0در این سطر فقط میتونیم ، عدد 3 رو قرار بدیم !
پس یعنی تونستیم یک جای خالی از این قسمت رو پر کنیم : یعنی اینکه جواب سوال شما :
527
316
قسمتهای خالی دیگه رو هم به شما محول میکنم . :21::27::دی ... ه ه ه ه
با تشکر از شما : قاهر .
.:HAMED:.
14-02-2010, 14:40
خیلی خوبه و سادست
ممنون از راهنماییتون
خب حالا جای دوتا صفر تو این سطر :009 یا باید 4 بذاریم و یا 8 دیگه
پس اگه مثل قبلی به ستونشون نگاه کنیم هیچ کدومش تکرار نشده
از کجا باید بدونیم 4 اولیه یا 8؟
قاهر - Gahir
14-02-2010, 16:17
خیلی خوبه و سادست
ممنون از راهنماییتون
خب حالا جای دوتا صفر تو این سطر :009 یا باید 4 بذاریم و یا 8 دیگه
پس اگه مثل قبلی به ستونشون نگاه کنیم هیچ کدومش تکرار نشده
از کجا باید بدونیم 4 اولیه یا 8؟
خب ، دوست عزیز ، سوالی بود بسیار خوب و بجا ولی میخواستم که فکر کردنش به دست خودت(ـون) باشه ! ( ای کلک میخوای که کل سودوکو حل بشه ! ها !!!! هممم ! :دی ... :27:)
حالا :
من به یه روش دیگه پیش میرم : ...
مربع سمت راست-بالا یعنی این اعداد رو در نظر میگیرم ! ...
604
020
035
اگه سطر و ستون متناظر با عدد « 0 » در این قسمت رو مورد بررسی قرار بدید بجای « 0 » تنها عددی که بین اعداد 1 و 7 و 8 و 9 میشه قرار داد ، عدد 9 هست ! ( چرا !؟ ) :دی .... باید ایجارو دیگه خودتون بگید .
حالا با مشخص بودن عدد 9 بجای « 0 » ، دوباره اعداد رو برای درک بیشتر اینجا مینویسم :
604
029
035
حال دوباره ، اگه به این مربع نگاه کنیم ، میبینیم که بجای اعداد صفر ( که همون فضای خالی هستند ) میتونیم فقط اعداد 1 و 7 ، 8 رو قرار بدیم ! ...
اگه دوباره به سطر و ستون متناظر با عدد « 0 » این مربع ، نگاه کنیم ، میبینیم که فقط میتونیم بین اعداد 1 و 7 و 8 ، فقط عدد 8 رو قرار بدیم ! ...
سطر متناظر با « 0 » :
527000604
ستون متناظر با « 0 » :
0
2
3
0
0
1
0
9
0
پس دوباره مربع رو کاملتر میکنم :
684
029
035
حال اگه به سطر متناظر با « 0 » نگاه کنی ، تنها عددی که بین 1 و 7 بخوای قرار بدی ، فقط عدد 7 هست ! ... پس عدد پایین آن هم مشخص شد : یعنی :
684
729
135
حال اگر به راستترین مربعها ( مربعهایی که در سمت راست هستند - هر سه مربع ستون سوم ) نگاه کنید :
684
729
135
000
400
012
200
597
800
اگه به ستون و سطر متناظر با این دو تا صفر قرمز (« 0 ») نگاه کنید ، متوجه میشوید که بهترتیب از بالا به پایین در صفرهای قرمز اعداد 3 و 9 قرار خواهند گرفت . یعنی :
684
729
135
300
400
912
200
597
800
در ضمن ، در ستون 4 و سطر دوم مسلما بجای عدد صفر ( فضای خالی ) باید عدد 5 قرار گیرد ، یعنی در این سطر :
316048729
بجای « 0 » عدد 5 رو قرار میدیم بازم ( چون در این سطر فقط عدد 5 نیست و عدد 5 در ستون متناظر این صفر هم نیست!) یعنی :
316548729
در سطر پایین این سطر ، یعنی این سطر :
009020135
با بررسیهای کافی ، مشخص میشه که باید فقط ، عدد 6 قرار گرفته بشه ! ( چرا ؟ ) چراش رو خودم میگم : چون این دوتا عدد صفر یعنی این دوتا 00 در چپترین مربع ، قبلا رزرو شدهاند ( یعنی بجای این دوتا صفر یا باید عدد 4 قرار گیرد یا باید عدد 8 قرار گیرد) پس :
009026135
بنابراین از قرار معلوم بجای « 0 » فقط میتوان عدد 7 رو قرار داد ! ( چرا ؟ ) ؛ یعنی :
009726135
بعد از اینکه این اعداد مشخص شدند ، به سراغ سه مربع سطر وسطی میریم ! ، یعنی این اعداد :
001200300
290600400
074030912
اگه به این صفرهای قرمز دوباره توجه کنید میبیند که چون در مربع وسط-چپ قرار گرفتهاند متوجه میشید که بجاشون فقط باید اعداد 3 و 5 و 6 و 8 قرار بدید .
حالا به این دوتا صفر قرمز توجه کنید :
001200300
290600400
074030912
اگه بررسی لازم رو انجام بدید ، متوجه میشید که بین اعداد 3 و 5 و 6 و 8 در جایگذاری بجای این دو تا صفر قرمز فقط میتونید ، دو عدد 3 و 5 رو قرار بدید ! ( حالا چرا ؟ )
در صفر قرمز اولی دیگه نمیشه عدد 3 رو گذاشت (چرا ؟) ، پس عدد مربوطه ، عدد 5 هست ! ... در صفر پایینی هم عدد 3 رو قرار میدیم . یعنی میشه این :
051200300
293600400
074030912
حالا دوباره به این دوتا صفر قرمز اعداد پایین نگاه کنید :
051200300
293600400
074030912
در مربع وسط-چپ ، چون از بین اعداد ، فقط میشه دو عدد 6 و 8 رو قرار داد ، پس باید هم عدد 6 و هم عدد 8 در این ستون (ستون اول) قرار داد !
یعنی در ستون شمارهی یک ، مشخص شد که عدد 8 حتما باید باشد و مکان این عدد هم باید در مربع وسط-چپ و در ستون اولش باشد ... ! حالا این یعنی چه ! ؟ ... خودتون بگید ! ؟ :دی ... یعنی اینکه با مشخص شدن این مقدار (عدد 8) مشخص شد که در مربع چپ-بالا ، آن دو عددی که میبایست یکی 4 و دیگری 8 میبود ، اولی 4 شد و دیگری عدد 8 !!!!
یعنی این :
527000684
316548729
489726135
051200300
293600400
074030912
900150200
102080597
700002800
توجه : دوستان ، این سودوکو ، نیمه حل شدهی سودوکوی شمارهی 1 صفحهی 1 هست . پس روال کار رو از این سودوکو
ادامه بدید.
حالا دیدید که واقعا چقدر لذتبخشه ! ...
دیدید که برای مشخص شدن دو عدد که روشون انگشت میذارید و میخوایید که اونا رو پیدا کنید شاید به این آسونی که میگید نباشه !!! ...
من خودم عمدن ، مابقی حل نشده رو آزادشون گذاشتم تا شما خودتون حلشون کنید ! ...:21::27:به توجهات ویژه هم توجه ویژه کنید ! :دی .... :27:
توجه ویژه : دیگر این سودوکو از سطح متوسط استاندارد خارج شد و به سطح خیلی آسان مبدل گشت ! ... یعنی اینکه شما برای حلش از الان فقط سه روز وقت دارید .:21: :دی .... ه ه ه ه
توجه ویژه : دوستان عزیز ، برای حل هر نوع سودکو به هر نوع روش و تدبیری که میتونید عمل کنید و دست از کار نکشید ! ... الان قرار نیست این نوع حل کردن و روش من رو فقط بپذیرید . میتونید هر نوع روش ، هر نوع تدبیری که دارید رو برای حل هر نوع سودوکو پیاده سازی کنید ! ...
به سودوکو میگن ، بازی با فکر ! ...
فقط این بازی به تجزیه و تحلیل و نحوهی تجزیه و تحلیل منطقی نیاز داره ! ...
با تشکر فراوان از شما : قاهر .
vBulletin , Copyright ©2000-2025, Jelsoft Enterprises Ltd.