Почему нарушения доступа не появляются? - PullRequest
0 голосов
/ 08 октября 2019

Почему нарушение прав доступа не появляется во время выполнения при вычислении факториала 100007?

#include<stdio.h>
#include<math.h>

long fact_value[100001] ; 
long fact(long n);

int main() {     
  fact_value[0] = 1;     
  fact_value[1] = 1;   
  int T;     
  int num;    
  scanf("%d",&T);     
  for(int i=0;i<T;i++) {     
    scanf("%d",&num);    
    printf("%ld\n",fact(num));  
  }          
  return 0;
}

long fact(long n) {  
  if(fact_value[n]!=0) 
    return fact_value[n];
  return fact_value[n] = (n*fact(n-1))%1000000007;
}

Эта программа представляет собой динамический подход к решению факториала чисел с рекурсией

...