matematykaszkolna.pl
Liczba operacji pętli Ola: Witam, jaka jest liczba wykonań pętli w zależności od multiplier, jeżeli for(int k=multiplier; k>multiplier/4;k−−). Wiem że w odpowiedzi będzie logarytm ale nie mam pojęcia jak to zapisać i bardzo proszę o pomoc.
31 mar 21:19
Dziadek Mróz: Szybki debug: m = multiplier = 6; for (int k = m, i = 1; k > m/4; k−−, i++) k = 6 i=1 6 > 1 → T k−−, i++ k = 5 i=2 5 > 1 → T k−−, i++ k = 4 i=3 4 > 1 → T k−−, i++ k = 3 i=4 3 > 1 → T k−−, i++ k = 2 i=5 2 > 1 → T k−−, i++ k = 1 i=6 1 > 1 → N 5 wykonań pętli
31 mar 22:42
Pytający: Żadnego logarytmu nie będzie, w kroku pętli nie dzielisz k. f(x) − liczba wykonań wnętrza pętli, x=multiplier f(x)+1 − liczba wykonań pętli, x=multiplier (licząc tak jak Dziadek Mróz)
 0 dla x<0 
f(x)=
 3m+n dla x=4m+n, gdzie m całkowite nieujemne, n∊{0,1,2,3} 
Stosując inny zapis: f(x)= x−[x/4] dla x≥0, gdzie "[x/4]" to cecha (979) x/4
31 mar 22:57
Dziadek Mróz: Przykładowe wyniki dla 20 testów 5511/4134 = 1.33309 2251/1689 = 1.33274 7619/5715 = 1.33316 6522/4892 = 1.3332 8319/6240 = 1.33317 3936/2952 = 1.33333 1720/1290 = 1.33333 4843/3633 = 1.33306 4285/3214 = 1.33323 1055/792 = 1.33207 3308/2481 = 1.33333 4717/3538 = 1.33324 173/130 = 1.33077 2570/1928 = 1.33299 4659/3495 = 1.33305 5950/4463 = 1.33318 5621/4216 = 1.33325 4708/3531 = 1.33333 3697/2773 = 1.33321 5887/4416 = 1.33311
31 mar 22:57
Dziadek Mróz: multiplier/ilosciteracji
31 mar 23:03