База ответов ИНТУИТ

Структуры и алгоритмы компьютерной обработки данных

<<- Назад к вопросам

Укажите вид функции временной трудоемкости для следующей функции в зависимости от параметра n
float G(float p, int n){  if(n==0) return 1;  return G(p,n-1)*p;}		

(Отметьте один правильный вариант ответа.)

Варианты ответа
O(n)(Верный ответ)
O(n log n)
O(n2)
O(log n)
Похожие вопросы
Укажите вид функции временной трудоемкости для следующей функции в зависимости от параметра n
float Step(float p, int n){  if (n==0) return 1;  if (n%2==0) return pow(Step(p,n/2),2);  return p*Step(p,n-1); }		
Укажите, какое значение возвращает функция f(a,b,c), если объявлены int a=3,b=5,c=18; и функция перегружена следующим образом:
float f(int a, int b, int c){  return float((a+b+c)/3);}float f(float a, float b, float c){  return a+b+c;}		
Укажите, какое значение возвращает функция g(a,b,c), если объявлены int a=3,b=5,c=18; и функция перегружена следующим образом:
float g(int a, int b, int c,int d){  return float(a+b+c)/4;}float g(float a, float b, float c){  return a+b+c;}		
Укажите, какое значение возвращает функция h(a,b,c), если объявлены int a=3,b=6;float c=4.5; и функция перегружена следующим образом:
int h(int a, float b, int c){  return int(a+b+c)/3;}float h(float a, int b, float c){  return a+b+c;}		
Значение какого выражения возвращает функция Rec(a,x,n), код которой приведен ниже?
float Rec(float *a, float x, int n){  if(n==0) return a[0];   return a[n]+x*Rec(a,x,n-1);}		
Укажите, что возвращает функция, фрагмент кода которой представлен ниже:
float a (int k, float x[max]) {  int i;  float s=0.0;  for (i=0;i<k;i++)    s+=x[i];  return s/k;}		
Укажите вид функции временной трудоемкости для следующей функции в зависимости от размера массива
void out (int str,int slb, int m[max_x][max_y]){  int i,j;  for (i=0;i<str;i++)  {    for (j=0;j<slb;j++)      printf("%4d",m[i][j]);      printf("\n");    }}		
Каким образом компилятором происходит контроль конца списка параметров во фрагменте кода:
float arifm(int k, ...) {  int *p=&k;//настроили указатель на параметр k  float s=*p; //значение первого параметра присвоили s  int i;  for(i=1;(*p)!=0;i++) //пока нет конца списка    s+=*(++p);  return s/(i-1);}		
Каким образом компилятором происходит контроль конца списка параметров во фрагменте кода:
float sum(int k, ...) {  int *p=&k;  float s=0;  for(;k!=0;k--)    s+=*(++p);  return s;}		
Разработана рекурсивная функция F(n,k). Определите число листьев рекурсии при вызове F(7,5)
int F(int n, int k){  if(n==1 || k==1)  return 1;  if(n<=k)  return F (n,n-1)+1;  return F(n,k-1)+ F(n-k,k);}