У меня вопрос в дизайне алгоритма о сложности. В этом вопросе предоставляется кусок кода, и я должен рассчитать эту сложность кода. Псевдокод:
for(i=1;i<=n;i++){
j=i
do{
k=j;
j = j / 2;
}while(k is even);
}
Я попробовал этот алгоритм для некоторых чисел. и я получил разные результаты. например, если n = 6, этот выход алгоритма выглядит как ниже
i = 1 -> executes 1 time
i = 2 -> executes 2 times
i = 3 -> executes 1 time
i = 4 -> executes 3 times
i = 5 -> executes 1 time
i = 6 -> executes 2 times
У него нет обычной темы, как мне рассчитать это?