prova ad usare %e al posto di %f
edit:
ho provato con:
printf("%d\t%-2.2e\n",N, n);
Come risultato ottengo:
Ecco, usando double come suggerito e %e arrivo fino a 170:codice:... 12 4.79e+008 13 6.23e+009 14 8.72e+010 15 1.31e+012 16 2.09e+013 17 3.56e+014 18 6.40e+015 19 1.22e+017 20 2.43e+018 21 5.11e+019 22 1.12e+021 ...
codice:#include<stdio.h> int main() { double n = 1; unsigned long N = 1; while(N <= 175){ n*=N; printf("%u\t%2.2e\n",N, n); //sleep(1); N++; } }codice:... 167 1.50e+300 168 2.53e+302 169 4.27e+304 170 7.26e+306 171 1.#Je+000 172 1.#Je+000 173 1.#Je+000 174 1.#Je+000 175 1.#Je+000![]()

Rispondi quotando