Как такую функцию написать на Python
#include <stdio.h> #include <stdlib.h> #include <time.h>
int main(int argc, char* argv[]) { double *A=NULL; double *B=NULL; double *C=NULL; double *times=NULL; int i,j,k,N,n,m,p,r,r0,rn,dr; clock_t start,end;
r0=50; rn=900; dr=10; times=(double *)malloc(((rn-r0)/dr+1)*sizeof(double)); for (r=r0;r<=rn;r+=dr) { N=r; n=N; m=N; p=N; A=(double *)malloc(n*m*sizeof(double)); B=(double *)malloc(m*p*sizeof(double)); C=(double *)malloc(n*p*sizeof(double)); start=clock(); for (i=0;i<n;i++) for (j=0;j<m;j++) A[i*m+j]=rand(); for (i=0;i<m;i++) for (j=0;j<p;j++) B[i*p+j]=rand(); for (i=0;i<n;i++) for (j=0;j<p;j++) { C[i*p+j]=0; for (k=0;k<m;k++) C[i*p+j]+=A[i*m+k]*B[k*p+j]; }
end=clock(); times[(r-r0)/dr]=(end-start)/(double)CLOCKS_PER_SEC; /* printf("%d %f\n",r,(end-start)/(double)CLOCKS_PER_SEC); */ free(C); free(B); free(A); } for (r=r0;r<=rn;r+=dr) { printf("%d %f\n",r,times[(r-r0)/dr]); } free (times); return 0; }