نمایش نتایج 1 تا 7 از 7

نام تاپیک: تولید دنباله از اعداد

  1. #1
    کاربر تازه وارد آواتار havakili
    تاریخ عضویت
    مهر 1387
    محل زندگی
    کاشمر
    پست
    36

    Thumbs up تولید دنباله از اعداد

    با سلام خدمت همه دوستان

    من سوالی از خدمت بزرگوارن دارم و اینکه میخوام یه دنباله ای از جایگشت اعداد بین 1 تا N تولید کنم ولی بدون تکرار اعداد
    مثلا برای بازه 1 تا 3 میشه
    123
    132
    213
    231
    312
    321
    و این تعداد حالات = N! هستش و میخوام برنامه برای تمامی حالت های جواب بده
    صرف نظر از سرعت درستی برنامه مهم هستش
    لطفا کمکم کنید
    آخرین ویرایش به وسیله havakili : شنبه 24 مرداد 1394 در 17:23 عصر

  2. #2

    نقل قول: تولید دنباله از اعداد

    یکی از روشهاش استفاده از ماتریس متتناظر با گراف کامل و پیدا کردن تمام مسیر های همیلتونی در اونه.
    توابع تبدیل تاریخ با دقت 5000 سال
    پذیرش پروژه، کامپوننت، آموزش برنامه نویسی (دلفی، اس کیو ال، ..) -> 09123780840

    دوستای گلم حمایت کنید : https://cafebazaar.ir/app/com.nikanmehr.marmarxword/


    نرم افزار پخش مویرگی

  3. #3
    کاربر دائمی آواتار golbafan
    تاریخ عضویت
    اردیبهشت 1388
    محل زندگی
    در قلب دوستان
    پست
    2,018

    نقل قول: تولید دنباله از اعداد

    میتونی از حلقه while استفاده کنی
    نوشتنش راحت تره ولی خب ممکنه اجراش کند باشه

    اما اگر روش درست تر رو بخوای من الگوریتم هیپ رو پیشنهاد میکنم:


    procedure generate(n : integer, A : array of any):
    if n = 1 then
    output(A)
    else
    for i := 0; i < n - 1; i += 1 do
    generate(n - 1, A)
    if n is even then
    swap(A[i], A[n-1])
    else
    swap(A[0], A[n-1])
    end if
    end for
    generate(n - 1, A)
    end if

  4. #4

    نقل قول: تولید دنباله از اعداد

    به نظر می رسه سودوکدی که گذاشتید تکراری بودن رو چک نمی کنه
    توابع تبدیل تاریخ با دقت 5000 سال
    پذیرش پروژه، کامپوننت، آموزش برنامه نویسی (دلفی، اس کیو ال، ..) -> 09123780840

    دوستای گلم حمایت کنید : https://cafebazaar.ir/app/com.nikanmehr.marmarxword/


    نرم افزار پخش مویرگی

  5. #5
    کاربر دائمی آواتار golbafan
    تاریخ عضویت
    اردیبهشت 1388
    محل زندگی
    در قلب دوستان
    پست
    2,018

    نقل قول: تولید دنباله از اعداد

    در پست قبلی که دادم A یک آرایه هست از کاراکترهایی که میخوای جایگشت کنی: اگر بخوای برای الف تا ی این کار رو انجام بدی پس باید A رو از حروف پر کنی و n رو هم تعداد مورد نیاز از حالت های دلخواهت انتخاب کنی
    اگر همه رو بخوای پس
    n=(length a)!

  6. #6
    کاربر دائمی آواتار golbafan
    تاریخ عضویت
    اردیبهشت 1388
    محل زندگی
    در قلب دوستان
    پست
    2,018

    نقل قول: تولید دنباله از اعداد

    نقل قول نوشته شده توسط You-See مشاهده تاپیک
    به نظر می رسه سودوکدی که گذاشتید تکراری بودن رو چک نمی کنه
    این الگوریتم کد تکراری ایجاد نمیکنه مگر اینکه همه رو تولید کرده باشه

  7. #7

    نقل قول: تولید دنباله از اعداد

    حواسم به swap نبود.
    الگوریتم زیباییه.
    من قبلا با روش درخت این کار رو کرده بودم و خیلی سریع بود.

    به هر حال به نظرم خیلی درست نیست در تالار دلفی کدهای الگوریتمی بصورت سودو گذاشته بشوند.
    سوال های الگوریتمی هم همین طور.
    توابع تبدیل تاریخ با دقت 5000 سال
    پذیرش پروژه، کامپوننت، آموزش برنامه نویسی (دلفی، اس کیو ال، ..) -> 09123780840

    دوستای گلم حمایت کنید : https://cafebazaar.ir/app/com.nikanmehr.marmarxword/


    نرم افزار پخش مویرگی

تاپیک های مشابه

  1. سوال: چگونگی تولید پسورد از اعداد و حروف
    نوشته شده توسط SadeghPro در بخش مباحث عمومی دلفی و پاسکال
    پاسخ: 8
    آخرین پست: یک شنبه 21 فروردین 1390, 00:48 صبح
  2. تولید اعداد تصادفی واقعی
    نوشته شده توسط SReza1 در بخش الگوریتم، کامپایلر، هوش مصنوعی و ساختمان داده ها
    پاسخ: 11
    آخرین پست: دوشنبه 24 آبان 1389, 03:43 صبح
  3. تولید اعداد تصادفی ؟
    نوشته شده توسط amir_br0k3n در بخش برنامه نویسی اسمبلی خانواده x86
    پاسخ: 4
    آخرین پست: شنبه 26 فروردین 1385, 08:28 صبح
  4. تولید اعداد سه رقمی
    نوشته شده توسط aghaghi در بخش الگوریتم، کامپایلر، هوش مصنوعی و ساختمان داده ها
    پاسخ: 3
    آخرین پست: یک شنبه 16 مرداد 1384, 08:16 صبح
  5. تولید اعداد یونیک و پشت سر هم در یک رنج
    نوشته شده توسط hmm در بخش SQL Server
    پاسخ: 3
    آخرین پست: دوشنبه 03 اسفند 1383, 14:50 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •