View Full Version : مرتبه زمانی این کد رو چطور حساب کنم؟
ali_orz
یک شنبه 21 اسفند 1390, 10:11 صبح
int j = 1;
while( j <= n)
{
x++;
j = k * j;
}
IamOverlord
یک شنبه 21 اسفند 1390, 21:03 عصر
خوب بستگی داره k چی باشه...
مسعود اقدسی فام
دوشنبه 22 اسفند 1390, 00:14 صبح
int j = 1;
while( j <= n)
{
x++;
j = k * j;
}
لگاریتم n در مبنای k
مسعود اقدسی فام
دوشنبه 22 اسفند 1390, 00:21 صبح
لگاریتم n در مبنای k
در هر بار تکرار حلقه مقدار j، ضرب در k میشه. یعنی k برابر میشه. یعنی اول k، بعد k * k = k2، بعد k3، ... تا زمانی که kp > n بشه. در این حالت حلقه p بار اجرا شده.
p هم به صورت تخمینی برابره با لگاریتم n در مبنای k.
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.