For first k digits: (unsigned long)floor(pow(10.0, modf(n*log10((double)n), &dummy) + k - 1))
On Mon, Nov 23, 2009 at 3:24 PM, Bharath <[email protected]> wrote: > For last k digits > > int foo(int n, int k) > { > int m=1; > for(; k > 0; k--) m*=10; > > int r=1, t=n % m; > while(n) > { > if (n % 2) > r = r * t % m; > t = t * t % m; > n >>= 1; > } > > return r; > } > > On Sat, Nov 21, 2009 at 9:44 AM, Siddharth Prakash Singh <[email protected] > > wrote: > >> Can anybody suggest an algorithm to find first and last k digits of >> n^n. >> >> -- >> >> You received this message because you are subscribed to the Google Groups >> "Algorithm Geeks" group. >> To post to this group, send email to [email protected]. >> To unsubscribe from this group, send email to >> [email protected]<algogeeks%[email protected]> >> . >> For more options, visit this group at >> http://groups.google.com/group/algogeeks?hl=. >> >> >> > > > -- > <<Bharath>> > > -- <<Bharath>> -- You received this message because you are subscribed to the Google Groups "Algorithm Geeks" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/algogeeks?hl=.
