PDA

View Full Version : پیدا کردن اولین عدد بزرگتر/کوچکتر یک عدد 10 رقمی



aminkk
جمعه 01 خرداد 1388, 13:30 عصر
سلام

فکر میکنم سومین بار باشه که دارم تایپیک می زنم و پاک می شه که اشتباه از طرف من بود.

بگذریم....



بچه ها من تو پروژه ای که دارم باید این کار رو انجام بدم:
یه عدد 10 رقمی دارم که هیچ کدوم از ارقامش تکراری نیست یعنی به صورت uniq هستش.
حالا من باید اولین عدد بزرگتر و اولین عدد کوچکتر بعد یا قبل از این عدد 10 رقمی رو پیدا کنم به شرطی که بازم ارقامش تکراری نباشه.

یه روش خودم اختراع کردم اما جواب نداد و اونم این بود که تو یه حلقه 1 دونه 1 دونه این عدد کم/زیاد می شد و توسط یه if چک میشد که تکراری هست یا نه که نشد.

روش جدیدی به ذهنتون می رسه تا کمکم کنید.

xxxxx_xxxxx
جمعه 01 خرداد 1388, 19:43 عصر
سلام
عدد رو چطور نگهداري مي كنيد. توسط كدوم data type ؟



یه روش خودم اختراع کردم اما جواب نداد و اونم این بود که تو یه حلقه 1 دونه 1 دونه این عدد کم/زیاد می شد و توسط یه if چک میشد که تکراری هست یا نه که نشد.

چرا نشد؟

pesar irooni
شنبه 02 خرداد 1388, 01:35 صبح
خوب اینکه کاری نداره.
اصلا نیازی به این کارها نیست.
ببین تو یه عدد 10 رقمی تمام ارقام 0 تا 9 تکرار میشه.
کوچکترین عدد 10 رقمی هم 1023456789 هست. حالا اصلا لازم نیست برای پیدا کردن عدد بعدی بهش اضافه کنیم چون مسلمه که عدد بعدی هم دارای همین ارقام هست فقط جاهاشون فرق میکنه. یعنی یه جایگشت متفاوت.
خوب برای اینکه کوچکترین عدد بعدی رو پیدا کنی دو رقم کم ارزش تر رو جاشون رو عوض میکنی. یعنی میشه 1023456798. در اصل تمام جایگشت های این عدد رو باید به ترتیب حساب کنی.
عدد بعد هم با دخالت رقم سوم و 6=!3 حالت که این 3 عدد تولید میکنند (دو تا که همون 1023456789 و 1023456798 میشه و 4 تا دیگه که با دخالت رقم سوم تولید میشه که در زیر نوشتم) اعداد بعدی شما میشه.
1023456879 و 1023456897 و 1023456978 و 1023456987 و الی آخر ....

aminkk
یک شنبه 10 خرداد 1388, 19:24 عصر
در اصل تمام جایگشت های این عدد رو باید به ترتیب حساب کنی.
یعنی چی؟میشه یکم راجب این خط توضیح بدین؟

pesar irooni
دوشنبه 11 خرداد 1388, 02:44 صبح
ببین هر چیز و یا شی کنار یکدیگر میتونند به ترتیب های مختلفی بایستند. مثلا تو یه صف من میتونم جلوی شما و یا بعد از شما واستم که این دو حالتهای متفاوتی اند. اعداد هم همینطور هستند. مثلا سه عدد 1و2و3 نسبت به هم 6=!3 جایگشت دارن که میشه 123 و 132 و 213 و 231 و 312 و 321
حالا که 10 تا عدد داریم !10 حالت خواهیم داشت که بسیار زیاده. شما باید اونا رو مثل مثال بالا پیدا کنی.
این مطالب راجع به درس آمار هستش.