Karim Belabas on Sat, 16 Sep 2017 17:10:42 +0200 |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
Re: how to define a function with loop |
* Elim Qiu [2017-09-16 16:56]: > I'd like to define a function returns the decimal approximation of > > (1^n+2^n+...+n^n)/(n^n) > > In python i have > > def tm(n,k): > return exp(n*log((k+0.0)/n)) > > def sm(n,m): > s = 0.0 > for j in range(m): > k = n -j > s += tm(n,k) > return s > > How do I put a loop inside of a definition of pari function? sm(n,m) = { my(s = 1); for (j = 1, m, s += exp(n * log((n-j)/n)) ); return(s); } (17:08) gp > \p100 realprecision = 115 significant digits (100 digits displayed) (17:09) gp > sm(10^5,10^5-1) time = 2,546 ms. %2 = 1.581966745495314367289816713125314892028479147529156465377909025096871544708934025943474991810037609 Cheers, K.B. -- Karim Belabas, IMB (UMR 5251) Tel: (+33) (0)5 40 00 26 17 Universite de Bordeaux Fax: (+33) (0)5 40 00 21 23 351, cours de la Liberation http://www.math.u-bordeaux.fr/~kbelabas/ F-33405 Talence (France) http://pari.math.u-bordeaux.fr/ [PARI/GP] `