صفحه 4 از 4 اولاول ... 234
نمایش نتایج 121 تا 145 از 145

نام تاپیک: چگونه یک پردازش خطی را در کم ترین زمان ممکن انجام دهیم

  1. #121

    نقل قول: چگونه یک پردازش خطی را در کم ترین زمان ممکن انجام دهیم

    راستی رقم اول که نمیتونه صفر باشه. چون سوال گفته اعداد چهار رقمی. عدد چهار رقمی داریم که هزارگانش صفر باشه؟! بنابراین حلقهء بیرونی باید از یک شروع بشه.
    بنابراین یکی از تعداد عددهای جواب کم میشه.
    اره من همون موقع میخواستم ویرایش کنم اما اینجا ویرایش نداره! دیگه بیخیال شدم یه بار دیگه از 1 بزارم . فقط کافیه حلقه i از 1 شروع بشه.

    راستش من خیلی روی حل معادلات یا الگوریتم های به این شکل کار کردم (بخاطر کار روی الگوریتم های فشرده سازی) و اکثرا برای حل سوالاتی شبیه این خودم براش فرمول میساختم . البته دیگه دنبالش نرفتم ببینم این فرمول از اول بوده یا نه . اما مثلا شما همینو در نظر بگیر اگه بخوایم از طریق کد نویسی و بدون فرمول خاصی انجام بدیم میشه 10 به توان تعداد ارقام موزد تست! یعنی اگه تعداد ازقاممون یکم بره بالا...! :D

    همین مشکلو با فاکتوریل و مجموع جمع اعداد متوالی هم داشتم که هنوز نتونستم فرمولی براش پیدا کنم که با صرف زمان کمتر به جواب برسن. اما به طور کل همیشه توی نرم افزارهای تجاریم چون خیلی به سرعت اهمیت میدم سعی کردم تعداد پردازش رو به حداقل برسونم و تا جایی که بتونم از حلقه استفاده نکنم . به خاطر همینه که معمولا سرعت کار با نرم افزارهایی که میسازم به طور غیر طبیعی بالاست!حتی توی محاسبات نسبتا سنگین

  2. #122
    کاربر دائمی آواتار FastCode
    تاریخ عضویت
    تیر 1388
    محل زندگی
    /dev/null
    پست
    3,486

    نقل قول: چگونه یک پردازش خطی را در کم ترین زمان ممکن انجام دهیم

    using System;

    namespace test
    {
    class MainClass
    {
    public static void Main (string[] args)
    {
    int n = 0;
    int[] x = new int [10];
    {
    for (int i = 1; i < 10; i++)
    {
    int i1max = 10;
    for (int i1 = 0; i1 < i1max; i1++)
    {
    int i2max = i1max - i1;
    for (int i2 = 0;i2 < i2max; i2++)
    {
    int i3max = i2max - i2;
    for (int i3 = 0;i3 < i3max; i3++)
    {
    int i4max = i3max - i3;
    for (int i4 = 0;i4 < i4max; i4++)
    {
    if (i == i1 + i2 + i3 + i4)
    {
    Console.Write(i1); Console.Write("\t");
    Console.Write(i2); Console.Write("\t");
    Console.Write(i3); Console.Write("\t");
    Console.Write(i4); Console.Write("\t");
    Console.Write( i); Console.Write("\t");
    Console.WriteLine();
    x[i]++;
    n++;
    }
    }
    }
    }
    }
    }
    Console.WriteLine(Convert.ToString(n)); n = 0;x = new int[10];
    {
    for (int i2 = 1; i2 < 10; i2++)
    {
    for (int i = 0; i <= i2; i++)
    n+=(i+2)*(i+1)/2;
    }
    }
    Console.WriteLine(Convert.ToString(n)); n = 0;x = new int[10];
    }
    }
    }
    }

    الان من این الگوریتم رو متحول کردم؟
    در حلقه دوم اگر i2 رو برداری همون 219 رو میده

  3. #123

    نقل قول: چگونه یک پردازش خطی را در کم ترین زمان ممکن انجام دهیم

    حلقه دوم 714 میده که برای 5 رقم بدست میومد .
    در حلقه دوم اگر i2 رو برداری همون 219 رو میده
    منظورتون رو متوجه نشدم!

    و اینکه الگوریتم شما باید برای همه تعداد ارقام کار کنه و در واقع باعث کاهش محاسبات بشه.لطفا بگید مثلا برای 8 رقم به چه صورت محاسبه میکنید؟

  4. #124
    کاربر دائمی آواتار FastCode
    تاریخ عضویت
    تیر 1388
    محل زندگی
    /dev/null
    پست
    3,486

    نقل قول: چگونه یک پردازش خطی را در کم ترین زمان ممکن انجام دهیم

      for (int i = 0; i < 10; i++)                            n+=(i+2)*(i+1)/2;

    میشه ۲۱۹

  5. #125
    کاربر دائمی آواتار FastCode
    تاریخ عضویت
    تیر 1388
    محل زندگی
    /dev/null
    پست
    3,486

    نقل قول: چگونه یک پردازش خطی را در کم ترین زمان ممکن انجام دهیم

    شاید هم
    for (int i = 0; i < 10; i++)                            n+=(i)*(i+1)/2;

    اصولا ۱۲ به بعد مغر من کار نمیکنه.الان واقعا نمیدونم کدوم کد درسته.ویرایش هم بستست.

  6. #126

    نقل قول: چگونه یک پردازش خطی را در کم ترین زمان ممکن انجام دهیم

    نقل قول نوشته شده توسط FastCode مشاهده تاپیک
      for (int i = 0; i < 10; i++)                            n+=(i+2)*(i+1)/2;

    میشه ۲۱۹
    اره البته i هم از 1 شروع بشه.

    خوب برای 6 رقم چنتا حلقه باید بزاریم و چطوری؟
    ریاضی یه روال ثابت داره شما روی تعداد 2 تا 5 رقم یه فرمول ثابت بدست بیار که کار کنه مطمئنا روی 1 میلیون رقمم صدق میکنه

    البته الگوریتم شما هم اگه برای تعداد ارقام بالاتر هم انجام بشه میتونه مفید باشه چون حداقل برای 4 و 5 رقم کاهش محاسبات داشت.
    (البته اگه بشه کاری کرد کلا حلقه رو حذف کنیم خیلی خوبه )

  7. #127

    نقل قول: چگونه یک پردازش خطی را در کم ترین زمان ممکن انجام دهیم

    بد نیست بالاخره یخورده بهینه سازی و یه دوزار ریاضی استفاده شده.
    البته بحث بهینه سازیش درواقع خیلی هم مهم نیست تاحالا!
    اصل بحث این بود که الگوریتمش تمرینی برای ورزیدگی و علمی شدن ذهن باشه و کمی با ریاضیات درگیر بشیم.
    اگر ایده ای هم میداد راجع به اون فرمول ریاضی کلی برای بدست آوردن تعداد، خب خیلی خوب بود. احتمالش هست.

    در برنامه نویسی و نوشتن الگوریتم دستمون از ریاضیات به مراتب بازتره، چون میتونیم کلی عملیات منطقی ردیف کنیم که میتونه از روشهای کاملا کور و Brute-force پیش بره تا برسه به خود فرمول ریاضیش! یعنی در این بین شما میتونید درجات زیادی از سادگی و دشواری رو داشته باشید و برای حل مسئله بصورت گام به گام پیش برید. مثل همین کاری که تا همینجا شد. یعنی اول یک الگوریتم کاملا کور و بدون هوشمندی و ریاضی خاصی بود، بعد یخورده تحلیل بیشتر کردیم و الگوریتم حرفه ای تر و بهینه تری رو با کمک کمی ریاضی نوشتیم. اگر تعداد این اعداد فرمول کلی ریاضی داره پس بنظرم احتمالش هست که در الگوریتم هم میشه خیلی بیش از این پیش رفت؛ ولی اگر گفتن که مسئلهء خیلی پیچیده ای است، پس احتمالا کار واقعا دشواری خواهد بود! منم همینو گفتم. چون یخورده کار کردم مخم داغ کرد دیگه. درحالیکه بنده قدرت طراحی الگوریتم بالایی دارم تاجاییکه خودم برآورد میکنم!! یادم نمیاد تاحالا در تحلیل و درک یا طراحی الگوریتمی بمونم، مگر همینطور موارد که با ریاضیات پیشرفته و اینها درگیر باشن. یعنی اساسا ریاضی هستن دیگه! فقط بحث برنامه نویسی و منطق و الگوریتم نیست. بهرحال اگر کسی تخصص ریاضی داشته باشه و بتونه برنامه هم بنویسه، بنظرم میتونه از برنامه نویسی و روش الگوریتمیک برای تحلیل و درک مسئله و یافتن جواب کمک زیادی بگیره. ولی یوقت هم شاید نخواد این کار رو بکنه تا مهارت ریاضی و قدرت ذهن خودش رو تقویت کنه. اما در مواردی که در نهایت بدون کمک راه راهی پیدا نمیکنه، میشه از الگوریتم و برنامه نویسی کمک گرفت.

  8. #128

    نقل قول: چگونه یک پردازش خطی را در کم ترین زمان ممکن انجام دهیم

    این روشی که دوستمون رفتن در واقع همون روشی بود که منم بدست اورده بودم . یعنی جمع اعداد متوالی.

    چیزی که حدودا بهش رسیدم ولی هنوز تستش نکردم :

    x=n+n!+n*1+n*2+...+n*8

    منظور از ! همون جمع اعداد متوالیه
    منظور از n*n1 هم مجموع جمع اعداد متوالی به تعداد n1

    والا من واقعا حوصلم نشد کاملا تستش کنم و توی فرمولم فقط تا n*1 رفتم بقیشو حدس زدم! البته اگه بتونید یه فرمول برای جمع اعداد متوالی پیدا کنید میشه این الگوریتم رو بدون حلقه هم پیاده سازی کرد
    مثلا اینو بشه با یه فرمول بدست اورد : (4!+3!+2!+1!)+(3!+2!+1!)+(2!+1!)+(1!)
    (! جمع اعداد متوالی منظوره)

  9. #129

    نقل قول: چگونه یک پردازش خطی را در کم ترین زمان ممکن انجام دهیم

    چیزی که حدودا بهش رسیدم ولی هنوز تستش نکردم
    بازم بروز عجول بودن شما.
    نکنه فک میکنی ریاضیت خیلی قویه؟
    بنظر من ریاضی شما درحدی نیست که بدون تست بخوای چیزی بذاری.
    یعنی کسی نمیاد خودش رو علاف بکنه ببینه راه حل شما چیه از کجا اومده.
    چون منطقا هم نباید این کار رو بکنه.
    یه استاد ریاضی یه مطلبی رو بذاره فرق میکنه.
    ولی شما تاحالا همش مدعی بودی و از موارد و اصول اولیه هم اطلاع نداشتی و رعایت نکردی.
    بنابراین، بر اساس همون منطق و احتمالات ریاضی، احتمال اینکه جواب شما درست باشه یا حتی به جواب نزدیک باشه، یا حتی اینکه چیز بدردبخوری برای یادگیری داشته باشه، اونقدری نیست که منطقی باشه آدم وقت و انرژی ارزشمند خودش رو بهش اختصاص بده.

  10. #130

    نقل قول: چگونه یک پردازش خطی را در کم ترین زمان ممکن انجام دهیم

    بازم بروز عجول بودن شما.
    بحث عجول بودن نیست من نیازی به حل این مسئله ندارم و ربطی هم به کارم نداره به همین دلیل لازم نمیدونم براش وقت بذارم

    نکنه فک میکنی ریاضیت خیلی قویه؟
    نه هرگز همچین فکری نکردم
    اما باز اگه ناراحت نمیشید از لحاظ تحلیل مسئله یکم حرف واسه گفتن دارم!

    ===================
    این حرفم بهت برنخوره اما من احساس میکنم شما ادم سطحی نگری هستی که همه چیزو اونجور که بیان میشن میبینی و عمق وجودی و مبنای اونو درک نمیکنی
    من برای فرمولی که بالا نوشتم اگرچه وقت فقط نیم ساعت وقت گذاشتم اما برای اون فرمول حداقل 10 حالت از 10 رقم 1 تا 10 و همچنین چند حالت رو مورد بررسی قرار دادم.
    نمیدونم چرا شما فکر کردید فقط خودتون علامه هستید یا فقط اونی که مدرک داره میفهمه یا فقط اونی که 2 تا فرمول ریاضی بلده قدرت تحلیل داره!فکر کردی اون 219 رو هم شانسی بدست اوردم؟
    نمونه این مسائل رو زیاد حل کردم زمانی که شما خمیر بازی میکردی! برای اونایی که اولویت بنده بودن وقت هم گذاشتم و صد در صد میتونم ادعا کنم که درسته اما توی دنیا بی نهایت تحلیل و مسئله وجود داره و اگه قرار باشه وقتو انرژیمو روی حل همش بزارم فکر نکنم عمرم کفاف بده!

  11. #131

    نقل قول: چگونه یک پردازش خطی را در کم ترین زمان ممکن انجام دهیم

    راستی دوست عزیز میتونم سنتون رو بپرسم؟

  12. #132

    نقل قول: چگونه یک پردازش خطی را در کم ترین زمان ممکن انجام دهیم

    حالا باز اگه هم فکر میکنید از خودم در میارم حداقل دوست خوبم fast code کار منو ساده کرد و یه مثال براش گذاشت!
    for (int i = 1; i < 10; i++) n+=(i+2)*(i+1)/2;
    یه جای گذاری کن اگه زحمتت میشه خودم انجام میدم.
    2*3/2 + 3*4/2 + 4*5/2 + 5*6/2 + 6*7/2 + 7*8/2 + 8*9/2 + 9*10/2 + 10*11/2


    که برابر است با :
    2!+3!+4!+5!+6!+7!+8!+9!+10!

    (منظور از ! همون جمع اعداد متوالیه)

    ==============================
    اما برای 5 رقم قضیه فرق میکنه :
    for (int i2 = 1; i2 < 10; i2++)
    {
    for (int i = 0; i <= i2; i++)
    n+=(i+2)*(i+1)/2;
    }
    و پیاده سازی اون بدین شکل میشه:
    (1*2/2 + 2*3/2) + (1*2/2 + 2*3/2 + 3*4/2) + (1*2/2 + 2*3/2 + 3*4/2 + 4*5/2) + (1*2/2 + 2*3/2 + 3*4/2 + 4*5/2 + 5*6/2) + (1*2/2 + 2*3/2 + 3*4/2 + 4*5/2 + 5*6/2 + 6*7/2) + (1*2/2 + 2*3/2 + 3*4/2 + 4*5/2 + 5*6/2 + 6*7/2 + 7*8/2) + (1*2/2 + 2*3/2 + 3*4/2 + 4*5/2 + 5*6/2 + 6*7/2 + 7*8/2 + 8*9/2) + (1*2/2 + 2*3/2 + 3*4/2 + 4*5/2 + 5*6/2 + 6*7/2 + 7*8/2 + 8*9/2 + 9*10/2) + (1*2/2 + 2*3/2 + 3*4/2 + 4*5/2 + 5*6/2 + 6*7/2 + 7*8/2 + 8*9/2 + 9*10/2 + 10*11/2)


    که میشه :

    (1!+2!) + (1!+2!+3!) + (1!+2!+3!+4!) + (1!+2!+3!+4!+5!) + (1!+2!+3!+4!+5!+6!) + (1!+2!+3!+4!+5!+6!+7!) + (1!+2!+3!+4!+5!+6!+7!+8!) + (1!+2!+3!+4!+5!+6!+7!+8!+9!) + (1!+2!+3!+4!+5!+6!+7!+8!+9!+10!)


    و این دقیقا همون چیزیه که بهش رسیدم و فرمولی هم ساختم بر همین اساس بود
    امیدوارم کمی طرز تفکرونگرشتون نسبت به دنیای اطراف تغییر کنه . مطمئنم برای خودتون هم مفیده

  13. #133

    نقل قول: چگونه یک پردازش خطی را در کم ترین زمان ممکن انجام دهیم

    نقل قول نوشته شده توسط hamidhws مشاهده تاپیک
    راستی دوست عزیز میتونم سنتون رو بپرسم؟
    اولا که نخیر چون بتوچه
    دوما که بازم به احتمال 99.99999 درصد، از شما به میزان قابل توجهی سنم بیشتره

  14. #134

    نقل قول: چگونه یک پردازش خطی را در کم ترین زمان ممکن انجام دهیم

    نقل قول نوشته شده توسط eshpilen مشاهده تاپیک
    اولا که نخیر چون بتوچه
    دوما که بازم به احتمال 99.99999 درصد، از شما به میزان قابل توجهی سنم بیشتره
    باشه عذر میخوام بابابزرگ!

  15. #135

    نقل قول: چگونه یک پردازش خطی را در کم ترین زمان ممکن انجام دهیم

    فکر میکردم فقط خانوما از گفتن سنشون هراس دارن! شما که دور از جون مونث نیستید؟

    از نوع حرف زدنتون نمیخوره سنتون بالا باشه. بیشتر میخوره 12 13 این حدودا.راستشو بگو توی شناسنامت دست بردی عمو؟

  16. #136

    نقل قول: چگونه یک پردازش خطی را در کم ترین زمان ممکن انجام دهیم

    سلام
    دقت کردید اگه به همین صورت بخواید ادامه بدید این تاپیک تا قیامت ادامه پیدا میکنه؟
    حالت نوبتی پیدا کرده. یکی شما میگی یکی دوستمون (بعضی وقتا هم چندتا پشت سر هم). سوال اولیه تاپیک په چیزی بود که جوابشو کمو بیش متوجه شدید (تا اینجا که من پستا رو خوندم هیچکدوم حرف همدیگرو هم قبول نکردید و نخواهید کرد). اگر هم بازدیدش زیاد شده صرفا به خاطر اینه که ما ایرانیا کلا کل کل رو دوس داریم. ببینیم یه جا دو نفر با هم بزن بزن راه انداختن ما هم وامیسیم تشویق میکنیم.
    بازدیدهای زیاد این تاپیک هم به معنای همو تشویقه هستش. ملت منتظرن ببینن کی کم میاره بالاخره

  17. #137

    نقل قول: چگونه یک پردازش خطی را در کم ترین زمان ممکن انجام دهیم

    نقل قول نوشته شده توسط karaji333 مشاهده تاپیک
    سلام
    دقت کردید اگه به همین صورت بخواید ادامه بدید این تاپیک تا قیامت ادامه پیدا میکنه؟
    حالت نوبتی پیدا کرده. یکی شما میگی یکی دوستمون (بعضی وقتا هم چندتا پشت سر هم). سوال اولیه تاپیک په چیزی بود که جوابشو کمو بیش متوجه شدید (تا اینجا که من پستا رو خوندم هیچکدوم حرف همدیگرو هم قبول نکردید و نخواهید کرد). اگر هم بازدیدش زیاد شده صرفا به خاطر اینه که ما ایرانیا کلا کل کل رو دوس داریم. ببینیم یه جا دو نفر با هم بزن بزن راه انداختن ما هم وامیسیم تشویق میکنیم.
    بازدیدهای زیاد این تاپیک هم به معنای همو تشویقه هستش. ملت منتظرن ببینن کی کم میاره بالاخره
    حق با شماست دوست عزیز
    فکر کنم اینجوری پیش بریم رکورد بیشترین پست در یک تاپیک رو بتونیم توی گینس ثبت کنیم

    ولی جدی ما که نمیتونیم جلو خودمون رو بگیریم به همین دلیل به مدیر سایت پیشنهاد دادم تاپیک رو قفل کنه. الانم میگم شما هم بگید لطفا قفلش کنن

  18. #138

    نقل قول: چگونه یک پردازش خطی را در کم ترین زمان ممکن انجام دهیم

    من با قفل کردن تاپیک مخالفم

  19. #139

    نقل قول: چگونه یک پردازش خطی را در کم ترین زمان ممکن انجام دهیم

    نقل قول نوشته شده توسط FastCode مشاهده تاپیک
      for (int i = 0; i < 10; i++)                            n+=(i+2)*(i+1)/2;

    میشه ۲۱۹
    هان؟
    من تست کردم 220 میده.
    بعدم این چیه مثلا از کجا اومده چه کلیتی داره؟
    همینطور نیست که چندتا عملیات و عدد رو ترکیب کنی که عدد مورد نظر بدست بیاد.
    یبارکی مینوشتی n=219 خیال خودت رو راحت میکردی


    نقل قول نوشته شده توسط FastCode مشاهده تاپیک
    شاید هم
    for (int i = 0; i < 10; i++)                            n+=(i)*(i+1)/2;

    اصولا ۱۲ به بعد مغر من کار نمیکنه.الان واقعا نمیدونم کدوم کد درسته.ویرایش هم بستست.
    اینم که اصلا 165 میده.

  20. #140

    نقل قول: چگونه یک پردازش خطی را در کم ترین زمان ممکن انجام دهیم

    نقل قول نوشته شده توسط hamidhws مشاهده تاپیک
    حالا باز اگه هم فکر میکنید از خودم در میارم حداقل دوست خوبم fast code کار منو ساده کرد و یه مثال براش گذاشت!

    یه جای گذاری کن اگه زحمتت میشه خودم انجام میدم.
    2*3/2 + 3*4/2 + 4*5/2 + 5*6/2 + 6*7/2 + 7*8/2 + 8*9/2 + 9*10/2 + 10*11/2


    که برابر است با :
    2!+3!+4!+5!+6!+7!+8!+9!+10!

    (منظور از ! همون جمع اعداد متوالیه)

    ==============================
    اما برای 5 رقم قضیه فرق میکنه :


    و پیاده سازی اون بدین شکل میشه:
    (1*2/2 + 2*3/2) + (1*2/2 + 2*3/2 + 3*4/2) + (1*2/2 + 2*3/2 + 3*4/2 + 4*5/2) + (1*2/2 + 2*3/2 + 3*4/2 + 4*5/2 + 5*6/2) + (1*2/2 + 2*3/2 + 3*4/2 + 4*5/2 + 5*6/2 + 6*7/2) + (1*2/2 + 2*3/2 + 3*4/2 + 4*5/2 + 5*6/2 + 6*7/2 + 7*8/2) + (1*2/2 + 2*3/2 + 3*4/2 + 4*5/2 + 5*6/2 + 6*7/2 + 7*8/2 + 8*9/2) + (1*2/2 + 2*3/2 + 3*4/2 + 4*5/2 + 5*6/2 + 6*7/2 + 7*8/2 + 8*9/2 + 9*10/2) + (1*2/2 + 2*3/2 + 3*4/2 + 4*5/2 + 5*6/2 + 6*7/2 + 7*8/2 + 8*9/2 + 9*10/2 + 10*11/2)


    که میشه :

    (1!+2!) + (1!+2!+3!) + (1!+2!+3!+4!) + (1!+2!+3!+4!+5!) + (1!+2!+3!+4!+5!+6!) + (1!+2!+3!+4!+5!+6!+7!) + (1!+2!+3!+4!+5!+6!+7!+8!) + (1!+2!+3!+4!+5!+6!+7!+8!+9!) + (1!+2!+3!+4!+5!+6!+7!+8!+9!+10!)


    و این دقیقا همون چیزیه که بهش رسیدم و فرمولی هم ساختم بر همین اساس بود
    امیدوارم کمی طرز تفکرونگرشتون نسبت به دنیای اطراف تغییر کنه . مطمئنم برای خودتون هم مفیده
    تو تازه الان داری دوزار توضیح میدی.
    قبلش فقط گفتی تست نکردم و یکسری چیزهای چپر چلاق و مبهم گذاشتی.
    ضمنا میگی جمع اعداد متوالی، بعد از علامت فاکتوریل که مال ضربه استفاده میکنی.
    جناب آیکیو! حداقل خلاقیت به خرج بده از یه علامتی چیز دیگه ای استفاده کن که با اون قاطی نشه! روش و اصول رو میگم رعایت نمیکنی همینه. آخه کدوم آدم باسوادی همچین چیز مبهم و بدون اصولی ببینه که انگار یه بچه نوشته بعدشم خودش داره میگه تست نکردم، میاد وقت و انرژی خودش رو روش تلف کنه؟

    در نهایت هم اینا که گفتی خب حالا چطوری چه ربطی به جواب مسئله دارن؟
    چیزی که تا اینجا بنده دیدم اینه که اول جواب یک حالت خاص رو با Brute-force پیدا میکنید، بعد میاید فرمول و حلقه های خاصی رو ترکیب میکنید تا به اون جواب برسه.
    فرمول هاتون که کلی نیست.
    و ظاهرا قاعدهء خاصی هم نداره درآوردنش. فقط تست میکنید و چند ترکیب و حدس رو تست میکنید تا یکیش جواب مورد نظر رو بده. بنظرت به این میگن ریاضی به اون معنا؟ اینم خودش یه نوع آزمون و خطا و روش Brute-force است، و تطابق جواب هم براحتی میتونه تصادفی باشه. شما با جمع و تفریق و ضرب اعداد هم میتونی به همون عدد برسی؛ ولی خب که چی؟!
    کلیتش از نظر ریاضی هیچ چیز اثبات شده یا حتی رابطهء قابل توجهی که بشه بقدر کافی مطمئن بود که ربطی به اصل مسئله داره این وسط دیده نمیشه. بیشتر بازی با اعداد و عملیات بنظر میاد تا چیز دیگه.

  21. #141

    نقل قول: چگونه یک پردازش خطی را در کم ترین زمان ممکن انجام دهیم

    این الان چیه مثلا:
    چیزی که حدودا بهش رسیدم ولی هنوز تستش نکردم :

    x=n+n!+n*1+n*2+...+n*8

    منظور از ! همون جمع اعداد متوالیه
    منظور از n*n1 هم مجموع جمع اعداد متوالی به تعداد n1
    فرمولت رو بذاری تو تگ کد که مرتب بشه و یوقت بهم ریختگی نمایشی پیش نیاد.
    کار سختیه؟
    x=n+n!+n*1+n*2+...+n*8

    خب بعد فرمودید n*n1.
    درحالیکه در فرمول شما اصلا چیز به اسم یا شکل n1 دیده نمیشه.
    اگر منظورت اون عددها بود، بجاش مینوشتی m حداقل بهتر بود و از اون n هم مستقل بودنش مشخص میشد.
    خلاصه تا اینجا همش ابهام و معما و تردید برای فرمولی که هنوز هیچ توضیحی ندادی اصلا از کجا اومده و میگی تست هم نکردی و درش معنای علامتهای ریاضی رو هم تغییر دادی.
    حالا تازه این «مجموع جمع اعداد متوالی به تعداد n1» هم خودش داستان داره و باید علم روایت و تفسیر بلد باشی و بعد از کلی تلاش استنباط کنی که محتمل ترین منظور چی بوده!!

    امیدوارم کمی طرز تفکرونگرشتون نسبت به دنیای اطراف تغییر کنه . مطمئنم برای خودتون هم مفیده
    تغییر کنه یعنی چی دقیقا؟
    یعنی مثلا از اون فرمول و گفته های مبهم و چپر چلاق شما باید همه چیز رو متوجه میشدم؟
    یا اینکه ازش انتقاد نمیکردم؟
    چطوری برام مفید واقع میشه اونوقت؟
    میشه بفرمایید؟

    ببینم راستی شما نبودی که فکر کنم یکی دو سال قبل، ادعای اختراع یک روش فشرده سازی ای چیزی رو میکردی که گفتی دنیا رو متحول میکنه و بالاخره تا یه مدت دیگه خبرش رو میشنویم؟
    بنظرم در همین تالار تاپیک زده بودی راجع بهش.

  22. #142

    نقل قول: چگونه یک پردازش خطی را در کم ترین زمان ممکن انجام دهیم

    ضمنا میگی جمع اعداد متوالی، بعد از علامت فاکتوریل که مال ضربه استفاده میکنی.
    علامت که فقط یه شکل عزیزم مهم اصل قضیه هست. ولی چشم علامتشم عوض میکنم. فکر کنم علامتش برعکس فاکتوریل میشد اگه اشتباه نکنم کاراکترشو روی صفحه کلید نمیدونم اگه لطف کنید بگید alt+? ممنون میشم
    و ظاهرا قاعدهء خاصی هم نداره درآوردنش. فقط تست میکنید و چند ترکیب و حدس رو تست میکنید تا یکیش جواب مورد نظر رو بده
    نه دوست عزیز .چنتا رو تست میکنیم و از روی روند افزایش یه فرمول براش میسازیم . اگرچه جمع اعداد متوالی هم خودش نیازمند حلقه هست اما تعداد محاسبات رو خیلی کاهش میده. ولی بازم اگه راهی یا فرمولی بهتری باشه که بشه کاملا بصورت خطی انجامش داد طبیعتا خیلی خیلی بهتره.
    خلاصه تا اینجا همش ابهام و معما و تردید برای فرمولی که هنوز هیچ توضیحی ندادی
    والا من چند حالت رو بررسی کردم و از بین روند رشد اون ها سعی داشتم به یه فرمول کلی برسم . و روند رشدی هرکدام از رقم ها مثل 1 تا 9 رو بررسی کردم . اما فقط تا 2 رو تست کردم . بعدش چون دیدم برای خطی کردن این فرمول احتیاج به جمع اعداد متوالی دارم در نتیجه اون فرمول رو فعلا بیخیال شدم و دنبال راهی برای بدست اوردن جمع اعداد متوالی شدم,

    ببینم راستی شما نبودی که فکر کنم یکی دو سال قبل، ادعای اختراع یک روش فشرده سازی ای چیزی رو میکردی که گفتی دنیا رو متحول میکنه و بالاخره تا یه مدت دیگه خبرش رو میشنویم؟
    بنظرم در همین تالار تاپیک زده بودی راجع بهش.
    بله دوست عزیز بنده نزدیک به یک دهه هست دارم روی پیدا کردن روشی بهینه تر از الگوریتم های فعلی کار میکنم و نتیجه کارهامو هم با این فایل تست میکنم : http://prize.hutter1.net
    به نتایج واقعا خوبی هم رسیدم و مطمئنم یک روز حداقل میتونم یه الگوریتم بهینه تر خلق کنم

    پ.و: البته یه بنده خدا دیگم بود که ادعا کرده بود روشی دست پیدا کرده که بطور 100% قادره مثلا 4 بیت رو در 3 بیت ذخیره کنه! نمیدونم شاید بنده خدا قانون شانون رو نمیدونسته یا میخواسته منطق رو زیر سوال ببره.
    ما به هیچ وجه نمیتونیم n حالت رو در n-1 حالت ذخیره کنیم و در این صورت حداقل یک حالت مشابه پیش میاد!اما n یک مقدار متغیره و اصل فشرده سازی هم بر همین مبنا استواره

  23. #143
    کاربر دائمی آواتار FastCode
    تاریخ عضویت
    تیر 1388
    محل زندگی
    /dev/null
    پست
    3,486

    نقل قول: چگونه یک پردازش خطی را در کم ترین زمان ممکن انجام دهیم

    میدونید چی خیلی جالبه؟
    این محاسبات embarrassingly parallel هستن.
    یعنی میتونید از .../OpenCL/Distributed computing/CUDA استفاده کنید.

  24. #144

    نقل قول: چگونه یک پردازش خطی را در کم ترین زمان ممکن انجام دهیم

    آقا جمع اعداد متوالی که فرمول داره!
    مگه شما توی مدرسه نخوندید؟
    فرمولش فکرکنم اینه:


  25. #145

    نقل قول: چگونه یک پردازش خطی را در کم ترین زمان ممکن انجام دهیم

    نقل قول نوشته شده توسط eshpilen مشاهده تاپیک
    آقا جمع اعداد متوالی که فرمول داره!
    مگه شما توی مدرسه نخوندید؟
    فرمولش فکرکنم اینه:

    دوست عزیز شما حافظتون رفرش میشه؟ من که خودم توی صفحه قبل همینو گفتم
    البته اینو میدونم که مثلا
    5/2*4=4i
    (i رو برای علامت جمع اعداد متوالی گذاشتم )

    دوست عزیز من فرمولی برای مجموع جمع اعداد متوالی میخوام . مثلا فرمولی برای مثال زیر :
    4i+3i+2i+1i

صفحه 4 از 4 اولاول ... 234

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

  1. سوال: چگونه پردازش فوق سنگین را در کمترین زمان انجام دهیم؟
    نوشته شده توسط hamidhws در بخش برنامه نویسی مبتنی بر Microsoft .Net Framework
    پاسخ: 0
    آخرین پست: یک شنبه 29 اردیبهشت 1392, 21:58 عصر
  2. چگونه مدل ساخته شده max را به محیط openGL دلفی انتقال دهیم ؟
    نوشته شده توسط mkalone در بخش طراحی و ساخت بازی‌های کامپیوتری
    پاسخ: 9
    آخرین پست: یک شنبه 19 دی 1389, 14:38 عصر
  3. چگونه کنار زیر منوهای یک منو در ویژوال بیسیک عکس قرار دهیم
    نوشته شده توسط sepahbod در بخش برنامه نویسی در 6 VB
    پاسخ: 5
    آخرین پست: یک شنبه 30 مهر 1385, 19:43 عصر
  4. چگونه می توانیم از vb مسیر بانک اطلاعاتی گزارش را تغییر دهیم
    نوشته شده توسط محسن شمس در بخش گزارش سازی با Crystal Report
    پاسخ: 3
    آخرین پست: چهارشنبه 26 مرداد 1384, 21:42 عصر
  5. پاسخ: 0
    آخرین پست: سه شنبه 10 خرداد 1384, 07:57 صبح

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

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