Интересно, сколько раз будет исполнено 2 части кода. Оба они n раз или один из них n + 1?количество времени выполнения 2 кода будет отличаться?
int sum=0;
for (int i = 1; i <= n; i++)
sum = sum + i;
И
int sum=0;
for (int i = 1; i <= n; ++i)
sum = sum + i;
Есть ли кто-нибудь помочь мне?
EDIT Sınce У меня появилось так много, плохих комментариев. Я решил дать свое настоящее намерение спросить об этом.
int sum = 0;
for (int i = 1; i <= n; ++i)
sum = sum + f1(i, n);}
int f1(int x, int n) {
int sum = 0;
for (int i = 1; i <= n; i++)
sum = sum + i;
return (x + sum); }
Точная сложность этого фрагмента кода является O (N * (п + 1)), и я хочу узнать, почему существует (п + 1) вместо о (п * п)
Вы даже не протестировали его? –
Спросите себя, каков ответ, если n равно 1. Btw, вы должны отступать от любых элементов управления 'for' (т. Е.' Sum = ... '). –
@ R.MartinhoFernandes Я протестировал его, и, согласно мне, они будут исполнять одно и то же время. Однако точная сложность для отредактированной версии этого вопроса - O (n * (n + 1)), и мне интересно, где приходит 1. – caesar