اولین باره که به کاهو میای؟ راهنمای سایت رو حتما بخون!
یافتن کوتاه ترین دور در گراف ساده
کد مساله هشت وزیر با استفاده از الگوریتم ژنتیک
مرجع فارسی برای الگوریتم های هندسی و 2sat
گذاشتن n وزیر در صفحه ی شطرنج بطوری که همدیگر را تهدید نکنند
کسی جزوه یا سوال خوب برای segment tree داره؟
محاسبهی دفعات چرخیدن n سرباز در یک ردیف
پیدا کردن ترتیبی که اجرای آن میانگین زمانی کمتری داشته باشد
چگونه برنامه نویسی (الگوریتمی) را در حد پیشرفته یاد بگیریم ؟
در این قسمت میتونی به یک پرسش پاسخ بدی. اگه میخوای در مورد پرسش بحث و اظهار نظر کنی از قسمت «ثبت نظر» استفاده کن.
پاسخت رو دقیق و کامل بنویس، از عکس استفاده کن و اگه لازمه به منابع (کتاب یا سایت) ارجاع بده.
اگه پرسش یا پاسخها مفید هستند حتما بهشون رای بده تا پرسشها و پاسخهای خوب مشخص بشن.
توی قسمت پیشنمایش میتونی ببینی متنی که نوشتی چجوری روی سایت دیده میشه.
خیلی مهم: برای اینکه به خط بعد بری باید دوتا Enter بزنی.
میتونی از تگهای معمولی و سادهی html هم استفاده کنی.
با دکمههایی که بالای ویرایشگر قرار دارند کلی کار میشه کرد. از عکسگذاشتن بگیر تا لیست شمارهدار. حتما امتحانشون کن.
برای نوشتن علائم ریاضی میتونی از Mathjax استفاده کنی.
راهنمای Mathjax رو از سایت
math.stackexchange
بخون.
برای نوشتن عبارت ریاضی وسط جمله، اون عبارت رو بین دوتا $ قرار بده.
برای نوشتن عبارت ریاضی تو یه خط جدید اون رو بین دوتا $$ قرار بده.
برنامه ای بنویسید که تمام اعداد اول درون دنباله فیبوناچی را تا 1000000000را چاپ کند و پیچیدگی آن را بنویسید و آن را تحلیل کنید و الگوریتم خود را اثبات کنید.
من با اردر (n*sqrt(n نوشتمش. برای چک کردن عدد اول بهترین کد رو زدم. تعداد عدد هاش هم خیلی کمه. تو ۱ صدم ثانیه چاپ میکنه...
این هم کد من به جاوا ، من نمیدونم چطوری باید پیچیدگیش رو بدست آورد و در این رابطه چیزی نمیدونم اما خود الگوریتمی که نوشتم ساده است و توضیح خاصی نداره.
البته هدفم از خاکروبی این پست این بود که بدونم این پیچیدگی در چه زمینه ای است و چه مقاله یا کتابی براش پیشنهاد میکنید البته یه چیزایی میدونم ولی خب فنی ترشو میخوام ;)
2015-01-29 09:38:43 -0600 کفشدوزکاین کدش:
`
int main() { int f1,f2,f,i,n; i=1; f1=1; f2=1; f=1; cin>>n; while ((i<n-1)&&(n>2)) { f=f2+f1; f1=f2; f2=f; i++; } cout<<"N="<<f; getch();="" return="" 0;="" }<="" p="">
اینم تابع بازگشتیش: unsigned long fibonacci (unsigned long n){ if(n==0 || n==1) return n; return fibonacci(n-1)+fibonacci(n-2); } `
دلیل اینکه بازگشتی بده: فکر کن تو تابع ات رو برای n=5 صدا میزنی. اون موقع برای 4,3 صدا زده میشه. بعدش خود اون چهاره، دوباره ۳ و ۲ رو صدا میزنه. اینطوری دیدی که به ازای n=3 دوبار صدا زده شد. یعنی الکی داره زیاد حساب میکنه که برای مقادیر بزرگ خودشو نشون میده. عادی for بزنی بهترین روش هستش (dp).
2014-12-19 07:49:14 -0600 پاک شده