EULERS_NUMBER_APPROXIMATION_15_NOVEMBER_2022_COPY


EULERS_NUMBER_APPROXIMATION_15_NOVEMBER_2022_COPY


* * *

START OF WEB PAGE COPY

* * *


EULERS_NUMBER_APPROXIMATION



image_link: https://github.com/karlinarayberinger/karlina_object_ultimate_starter_pack/blob/main/eulers_number_definition.png


The C++ program featured in this tutorial web page generates an approximation of the the mathematical constant named e (i.e. Euler’s Number). For each unique nonnegative integer N, e is the summation of each corresponding (1/(N!)). For more information about how to compute N! (i.e. N factorial), see the FACTORIAL C++ example in this website.

To view hidden text inside of the preformatted text boxes below, scroll horizontally.


Software Application Files


C++ source file: https://github.com/karlinarayberinger/karlina_object_ultimate_starter_pack/blob/main/eulers_number_approximation.cpp

plain-text file: https://github.com/karlinarayberinger/karlina_object_ultimate_starter_pack/blob/main/eulers_number_approximation_output.txt


Program Compilation & Execution


STEP_0: Copy and paste the C++ source code into a new text editor document and save that document as the following file name:

eulers_number_approximation.cpp

STEP_1: Open a Unix command line terminal application and set the current directory to wherever the C++ is located on the local machine (e.g. Desktop).

cd Desktop

STEP_2: Compile the C++ file into machine-executable instructions (i.e. object file) and then into an executable piece of software named app using the following command:

g++ eulers_number_approximation.cpp -o app

STEP_3: If the program compilation command does not work, then use the following command to install the C++ compiler:

sudo apt install build-essential

STEP_4: After running the g++ command, run the executable file using the following command:

./app

STEP_5: Once the application is running, the following prompt will appear:

Enter a natural number which is no larger than 65:

STEP_6: Enter a value for N using the using the keyboard.

STEP_7: Observe program results on the command line terminal and in the output file.


Program Source Code


C++ source file: https://github.com/karlinarayberinger/karlina_object_ultimate_starter_pack/blob/main/eulers_number_approximation.cpp

When copy-pasting the source code from the preformatted text box below into a text editor document, remove the spaces between the angle brackets and the library names in the preprocessing directives code block.


//
// file: eulers_number_approximation.cpp
// type: C++ (source file)
// date: 08_NOVEMBER_2022
// author: Karlina Ray Beringer (@karbytes)
// license: PUBLIC_DOMAIN
// description: The command line application which is generated by the C++ source code in this file generates an approximation of the the mathematical constant named e (i.e. Euler’s Number).
//

/* preprocessing directives */
#include < iostream > // command line input and output
#include < fstream > // file input and output
#define MAXIMUM_N 65 // constant which represents maximum N value

/* function prototypes */
unsigned long long int compute_factorial_of_N_using_iteration(int N);
long double e(int N, std::ostream & output);

/**
 * Compute N factorial using an iterative algorithm.
 * 
 * If N is a natural number, then N! is the product of exactly one instance 
 * of each unique natural number which is less than or equal to N. 
 * N! := N * (N - 1) * (N - 2) * (N - 3) * ... * 3 * 2 * 1. 
 * 
 * If N is zero, then N! is one.
 * 0! := 1.
 */
unsigned long long int compute_factorial_of_N_using_iteration(int N)
{
	// Declare an int type variable (i.e. a variable for storing integer values) named i. 
	// Set the intial value which is stored in i to zero.
	int i = 0;

	// Declare an unsigned long long int type variable (i.e. a variable for storing integer values) named F. 
	// Set the intial value which is stored in F to zero.
	unsigned long long int F = 0; 

	// If N is larger than zero and if N is no larger than MAXIMUM_N, set i to N. 
	// Otherwise, set i to 0.
	i = ((N > 0) && (N <= MAXIMUM_N)) ? N : 0; 

	// If N is larger than zero, set F to N.
	// Otherwise, set F to 1.
	F = (N > 0) ? N : 1; 

	// While i is larger than zero:
	while (i > 0) 
	{
		// If i is larger than 1, multiply F by (i - 1).
		if (i > 1) F *= i - 1; 

		// Decrement i by 1.
		i -= 1; 
	}

	// Return the value stored in F (i.e. factorial N (i.e. N!)).
	return F;
}

/**
 * Generate an approximation of the the mathematical constant named e (i.e. Euler’s Number).
 * 
 * The value returned by this function is a floating-point number value.
 */
long double e(int N, std::ostream & output)
{
	// Declare a long double type variable (i.e. a variable for storing floating-point number values) named A. 
	// Set the intial value which is stored in A to one.
	long double A = 1.0;

	// Declare an int type variable (i.e. a variable for storing integer values) named i. 
	// Set the intial value which is stored in i to zero.
	int i = 0;

	// Declare a pointer to an unsigned long long int type variable named T.
	unsigned long long int * T;

	// If N is smaller than zero or if N is larger than MAXIMUM_N, set N to one. 
	N = ((N < 0) || (N > MAXIMUM_N)) ? 1 : N;

	// Allocate N contiguous unsigned long long int sized chunks of memory to an array for storing N floating-point values.
	// Store the memory address of the first element of that array in T.
	T = new unsigned long long int [N];

	// Print "number_of_bytes(unsigned long long int) := {sizeof(unsigned long long int)}." to the output stream.
	output << "\n\nnumber_of_bytes(unsigned long long int) := " << sizeof(unsigned long long int) << ".";

	// Print "memory_address_of(T) = (&T) := {memory_address_of(T)}." to the output stream.
	output << "\n\nmemory_address_of(T) = (&T) := " << &T << ".// & is a reference operator";

	// Print "T := {T}." to the output stream.
	output << "\n\nT := " << T << ". // pointer to unsigned long long int type variable";

	// Print "(*T) := {*T}." to the output stream.
	output << "\n\n(*T) := " << (*T) << ". // dereferenced pointer to unsigned long long int type variable \n";

	// For each integer value represented by i starting at 0 and ending at N in and in ascending order: 
	// print the memory address of the ith element of the unsigned long long int type array represented by T to the output stream.
	for (i = 0; i < N; i += 1) 
	{
		// Print "(&T[{i}]) := {memory_address_of(T[i])}." to the output stream.
		output << "\n(&T[" << i << "]) := " << &T[i] << ". // memory address of T[" << i << "]";
	}

	// Print a newline character to the output stream.
	output << '\n';

	// For each integer value represented by i starting at 0 and ending at N in and in ascending order:
	// set value of the ith element of the unsigned long long int type array represented by T to (N - i) and
	// print the data value which is stored in the ith element of the array to the output stream.
	for (i = 0; i < N; i += 1) 
	{
		// Store the result of the arithmetic expression (N - i) in T[i].
		T[i] = N - i;

		// Print "T[{i}] := {T[i]}." to the output stream.
		output << "\nT[" << i << "] := " << T[i] << " = (" << N << " - " << i << ").";
	}

	// Print a newline character to the output stream.
	output << '\n';

	// For each integer value represented by i starting at 0 and ending at N in and in ascending order:
	// set value of the ith element of the unsigned long long int type array represented by T to (N - i)! and
	// print the data value which is stored in the ith element of the array to the output stream.
	for (i = 0; i < N; i += 1) 
	{
		// Print "T[{i}] := factorial({T[i]}) = ({T[i]})! = " to the output stream.
		output << "\nT[" << i << "] := factorial(" << T[i] << ") = (" << T[i] << ")! = ";

		// Store (N - i)! in T[i].
		T[i] = compute_factorial_of_N_using_iteration(T[i]);

		// Print {T[i]} to the output stream.
		output << T[i];
	}

	// Print a newline character to the output stream.
	output << '\n';

	// For each integer value represented by i starting at 0 and ending at N in and in ascending order:
	// print the value of (1 / (N - i)!) to the output stream.
	for (i = 0; i < N; i += 1) output << "\n(1 / T[" << i << "]) = (1 / " << T[i] << ") = " << (long double) 1 / T[i] << ".";

	// For each integer value represented by i starting at 0 and ending at N in and in ascending order:
	// add the value of (1 / (N - i)!) to A and print the contents of A to the output stream.
	for (i = 0; i < N; i += 1) 
	{
		output << "\n\nA := A + (1 / (" << N << " - " << i << ")!)";
		output << "\n   = " << A << " + (1 / " << T[i] << ")";
		output << "\n   = " << A << " + " << (long double) 1 / T[i];
		A += (long double) 1 / T[i];
		output << "\n   = " << A << ".";
	}

	// De-allocate memory which was assigned to the array named T.
	delete [] T;

	// Return the value which is stored in A.
	return A;
}

/* program entry point */
int main()
{
	// Declare a file output stream object named file.
	std::ofstream file;

	// Declare an int type variable (i.e. a variable for storing integer values) named N. 
	// Set the intial value which is stored in N to one.
	int N = 1;

	// Declare a long double type variable (i.e. a variable for storing floating-point number values) named A. 
	// Set the intial value which is stored in A to one.
	long double A = 1.0;

    // Set the number of digits of floating-point numbers which are printed to the command line terminal to 100 digits.
    std::cout.precision(100);

    // Set the number of digits of floating-point numbers which are printed to the file output stream to 100 digits.
    file.precision(100);

	/**
	 * If the file named eulers_number_approximation_output.txt does not already exist inside of the same 
	 * file directory as does the file named eulers_number_approximation.cpp, 
	 * create a new file named eulers_number_approximation_output.txt.
	 * 
	 * Open the plain-text file named eulers_number_approximation_output.txt 
	 * and set that file to be overwritten with program data.
	 */
	file.open("eulers_number_approximation_output.txt");

	// Print an opening message to the command line terminal.
	std::cout << "\n\n--------------------------------";
	std::cout << "\nSTART OF PROGRAM";
	std::cout << "\n--------------------------------";

	// Print an opening message to the file output stream.
	file << "--------------------------------";
	file << "\nSTART OF PROGRAM";
	file << "\n--------------------------------";

	// Print "Enter a natural number which is no larger than {MAXIMUM_N}: " to the command line terminal.
	std::cout << "\n\nEnter a natural number which is no larger than " << MAXIMUM_N << ": ";

	// Print "Enter a natural number which is no larger than {MAXIMUM_N}: " to the file output stream.
	file << "\n\nEnter a natural number which is no larger than " << MAXIMUM_N << ": ";

	// Scan the command line terminal for the most recent keyboard input value.
	std::cin >> N;

	// Print {N} to the command line terminal.
	std::cout << N;

	// Print {N} to the file output stream.
	file << N;

	// If N is smaller than zero or if N is larger than MAXIMUM_N, set N to one.
	N = ((N < 0) || (N > MAXIMUM_N)) ? 1 : N;

	// Print "N := {N}." to the command line terminal.
	std::cout << "\n\nN := " << N << ". // int type variable";

	// Print "N := {N}." to the file output stream.
	file << "\n\nN := " << N << ". // int type variable";

	// Print "number_of_bytes(int) := {sizeof(int)}." to the command line terminal.
	std::cout << "\n\nnumber_of_bytes(int) := " << sizeof(int) << ".";

	// Print "number_of_bytes(int) := {sizeof(int)}." to the file output stream.
	file << "\n\nnumber_of_bytes(int) := " << sizeof(int) << ".";

	// Print "memory_address_of(A) := (&N) = {memory_address_of(A)}." to the command line terminal.
	std::cout << "\n\nmemory_address_of(N) = (&N) := " << &N << ". // & is a reference operator";

	// Print "memory_address_of(N) = (&N) := {N}." to the file output stream.
	file << "\n\nmemory_address_of(N) = (&N) := " << &N << ". // & is a reference operator";

	// Print "number_of_bytes(long double) := {sizeof(long double)}." to the command line terminal.
	std::cout << "\n\nnumber_of_bytes(long double) := " << sizeof(long double) << ".";

	// Print "number_of_bytes(long double) := {sizeof(long double)}." to the file output stream.
	file << "\n\nnumber_of_bytes(long double) := " << sizeof(long double) << ".";

	// Print "A := {A}." to the command line terminal.
	std::cout << "\n\nA := " << A << ". // long double type variable";

	// Print "A := {A}." to the file output stream.
	file << "\n\nA := " << A << ". // long double type variable";

	// Print "memory_address_of(A) = (&A) := {memory_address_of(A)}." to the command line terminal.
	std::cout << "\n\nmemory_address_of(A) = (&A) := " << &A << ". // & is a reference operator";

	// Print "memory_address_of(A) = (&A) := {A}." to the file output stream.
	file << "\n\nmemory_address_of(N) = (&A) := " << &A << ". // & is a reference operator";

	// Compute the Nth approximation of Euler's Number and store the result in A.
	// Print the steps involved in generating an approximation of Euler's Number to the command line terminal.
	A = e(N, std::cout);

	// Print the steps involved in generating an approximation of Euler's Number to the file output stream.
	e(N, file);

	// Print "A = e(N) := {e(N)}." to the command line terminal.
	std::cout << "\n\nA = e(N) := " << A << ".";

	// Print "A = e(N) := {e(N)}." to the file output stream.
	file << "\n\nA = e(N) := " << A << ".";

	// Print a closing message to the command line terminal.
	std::cout << "\n\n--------------------------------";
	std::cout << "\nEND OF PROGRAM";
	std::cout << "\n--------------------------------\n\n";

	// Print a closing message to the file output stream.
	file << "\n\n--------------------------------";
	file << "\nEND OF PROGRAM";
	file << "\n--------------------------------";

	// Close the file output stream.
	file.close();

	// Exit the program.
	return 0;
}

Sample Program Output


plain-text file: https://github.com/karlinarayberinger/karlina_object_ultimate_starter_pack/blob/main/eulers_number_approximation_output.txt


--------------------------------
START OF PROGRAM
--------------------------------

Enter a natural number which is no larger than 65: 65

N := 65. // int type variable

number_of_bytes(int) := 4.

memory_address_of(N) = (&N) := 0x7ffe0cd0f8bc. // & is a reference operator

number_of_bytes(long double) := 16.

A := 1. // long double type variable

memory_address_of(N) = (&A) := 0x7ffe0cd0f8c0. // & is a reference operator

number_of_bytes(unsigned long long int) := 8.

memory_address_of(T) = (&T) := 0x7ffe0cd0f868.// & is a reference operator

T := 0x5617bc09a8c0. // pointer to unsigned long long int type variable

(*T) := 23110336666. // dereferenced pointer to unsigned long long int type variable 

(&T[0]) := 0x5617bc09a8c0. // memory address of T[0]
(&T[1]) := 0x5617bc09a8c8. // memory address of T[1]
(&T[2]) := 0x5617bc09a8d0. // memory address of T[2]
(&T[3]) := 0x5617bc09a8d8. // memory address of T[3]
(&T[4]) := 0x5617bc09a8e0. // memory address of T[4]
(&T[5]) := 0x5617bc09a8e8. // memory address of T[5]
(&T[6]) := 0x5617bc09a8f0. // memory address of T[6]
(&T[7]) := 0x5617bc09a8f8. // memory address of T[7]
(&T[8]) := 0x5617bc09a900. // memory address of T[8]
(&T[9]) := 0x5617bc09a908. // memory address of T[9]
(&T[10]) := 0x5617bc09a910. // memory address of T[10]
(&T[11]) := 0x5617bc09a918. // memory address of T[11]
(&T[12]) := 0x5617bc09a920. // memory address of T[12]
(&T[13]) := 0x5617bc09a928. // memory address of T[13]
(&T[14]) := 0x5617bc09a930. // memory address of T[14]
(&T[15]) := 0x5617bc09a938. // memory address of T[15]
(&T[16]) := 0x5617bc09a940. // memory address of T[16]
(&T[17]) := 0x5617bc09a948. // memory address of T[17]
(&T[18]) := 0x5617bc09a950. // memory address of T[18]
(&T[19]) := 0x5617bc09a958. // memory address of T[19]
(&T[20]) := 0x5617bc09a960. // memory address of T[20]
(&T[21]) := 0x5617bc09a968. // memory address of T[21]
(&T[22]) := 0x5617bc09a970. // memory address of T[22]
(&T[23]) := 0x5617bc09a978. // memory address of T[23]
(&T[24]) := 0x5617bc09a980. // memory address of T[24]
(&T[25]) := 0x5617bc09a988. // memory address of T[25]
(&T[26]) := 0x5617bc09a990. // memory address of T[26]
(&T[27]) := 0x5617bc09a998. // memory address of T[27]
(&T[28]) := 0x5617bc09a9a0. // memory address of T[28]
(&T[29]) := 0x5617bc09a9a8. // memory address of T[29]
(&T[30]) := 0x5617bc09a9b0. // memory address of T[30]
(&T[31]) := 0x5617bc09a9b8. // memory address of T[31]
(&T[32]) := 0x5617bc09a9c0. // memory address of T[32]
(&T[33]) := 0x5617bc09a9c8. // memory address of T[33]
(&T[34]) := 0x5617bc09a9d0. // memory address of T[34]
(&T[35]) := 0x5617bc09a9d8. // memory address of T[35]
(&T[36]) := 0x5617bc09a9e0. // memory address of T[36]
(&T[37]) := 0x5617bc09a9e8. // memory address of T[37]
(&T[38]) := 0x5617bc09a9f0. // memory address of T[38]
(&T[39]) := 0x5617bc09a9f8. // memory address of T[39]
(&T[40]) := 0x5617bc09aa00. // memory address of T[40]
(&T[41]) := 0x5617bc09aa08. // memory address of T[41]
(&T[42]) := 0x5617bc09aa10. // memory address of T[42]
(&T[43]) := 0x5617bc09aa18. // memory address of T[43]
(&T[44]) := 0x5617bc09aa20. // memory address of T[44]
(&T[45]) := 0x5617bc09aa28. // memory address of T[45]
(&T[46]) := 0x5617bc09aa30. // memory address of T[46]
(&T[47]) := 0x5617bc09aa38. // memory address of T[47]
(&T[48]) := 0x5617bc09aa40. // memory address of T[48]
(&T[49]) := 0x5617bc09aa48. // memory address of T[49]
(&T[50]) := 0x5617bc09aa50. // memory address of T[50]
(&T[51]) := 0x5617bc09aa58. // memory address of T[51]
(&T[52]) := 0x5617bc09aa60. // memory address of T[52]
(&T[53]) := 0x5617bc09aa68. // memory address of T[53]
(&T[54]) := 0x5617bc09aa70. // memory address of T[54]
(&T[55]) := 0x5617bc09aa78. // memory address of T[55]
(&T[56]) := 0x5617bc09aa80. // memory address of T[56]
(&T[57]) := 0x5617bc09aa88. // memory address of T[57]
(&T[58]) := 0x5617bc09aa90. // memory address of T[58]
(&T[59]) := 0x5617bc09aa98. // memory address of T[59]
(&T[60]) := 0x5617bc09aaa0. // memory address of T[60]
(&T[61]) := 0x5617bc09aaa8. // memory address of T[61]
(&T[62]) := 0x5617bc09aab0. // memory address of T[62]
(&T[63]) := 0x5617bc09aab8. // memory address of T[63]
(&T[64]) := 0x5617bc09aac0. // memory address of T[64]

T[0] := 65 = (65 - 0).
T[1] := 64 = (65 - 1).
T[2] := 63 = (65 - 2).
T[3] := 62 = (65 - 3).
T[4] := 61 = (65 - 4).
T[5] := 60 = (65 - 5).
T[6] := 59 = (65 - 6).
T[7] := 58 = (65 - 7).
T[8] := 57 = (65 - 8).
T[9] := 56 = (65 - 9).
T[10] := 55 = (65 - 10).
T[11] := 54 = (65 - 11).
T[12] := 53 = (65 - 12).
T[13] := 52 = (65 - 13).
T[14] := 51 = (65 - 14).
T[15] := 50 = (65 - 15).
T[16] := 49 = (65 - 16).
T[17] := 48 = (65 - 17).
T[18] := 47 = (65 - 18).
T[19] := 46 = (65 - 19).
T[20] := 45 = (65 - 20).
T[21] := 44 = (65 - 21).
T[22] := 43 = (65 - 22).
T[23] := 42 = (65 - 23).
T[24] := 41 = (65 - 24).
T[25] := 40 = (65 - 25).
T[26] := 39 = (65 - 26).
T[27] := 38 = (65 - 27).
T[28] := 37 = (65 - 28).
T[29] := 36 = (65 - 29).
T[30] := 35 = (65 - 30).
T[31] := 34 = (65 - 31).
T[32] := 33 = (65 - 32).
T[33] := 32 = (65 - 33).
T[34] := 31 = (65 - 34).
T[35] := 30 = (65 - 35).
T[36] := 29 = (65 - 36).
T[37] := 28 = (65 - 37).
T[38] := 27 = (65 - 38).
T[39] := 26 = (65 - 39).
T[40] := 25 = (65 - 40).
T[41] := 24 = (65 - 41).
T[42] := 23 = (65 - 42).
T[43] := 22 = (65 - 43).
T[44] := 21 = (65 - 44).
T[45] := 20 = (65 - 45).
T[46] := 19 = (65 - 46).
T[47] := 18 = (65 - 47).
T[48] := 17 = (65 - 48).
T[49] := 16 = (65 - 49).
T[50] := 15 = (65 - 50).
T[51] := 14 = (65 - 51).
T[52] := 13 = (65 - 52).
T[53] := 12 = (65 - 53).
T[54] := 11 = (65 - 54).
T[55] := 10 = (65 - 55).
T[56] := 9 = (65 - 56).
T[57] := 8 = (65 - 57).
T[58] := 7 = (65 - 58).
T[59] := 6 = (65 - 59).
T[60] := 5 = (65 - 60).
T[61] := 4 = (65 - 61).
T[62] := 3 = (65 - 62).
T[63] := 2 = (65 - 63).
T[64] := 1 = (65 - 64).

T[0] := factorial(65) = (65)! = 9223372036854775808
T[1] := factorial(64) = (64)! = 9223372036854775808
T[2] := factorial(63) = (63)! = 1585267068834414592
T[3] := factorial(62) = (62)! = 7638104968020361216
T[4] := factorial(61) = (61)! = 3098476543630901248
T[5] := factorial(60) = (60)! = 9727775195120271360
T[6] := factorial(59) = (59)! = 162129586585337856
T[7] := factorial(58) = (58)! = 2504001392817995776
T[8] := factorial(57) = (57)! = 6404118670120845312
T[9] := factorial(56) = (56)! = 6908521828386340864
T[10] := factorial(55) = (55)! = 6711489344688881664
T[11] := factorial(54) = (54)! = 10519282829630636032
T[12] := factorial(53) = (53)! = 13175843659825807360
T[13] := factorial(52) = (52)! = 9994050523088551936
T[14] := factorial(51) = (51)! = 18284192274659147776
T[15] := factorial(50) = (50)! = 15188249005818642432
T[16] := factorial(49) = (49)! = 8789267254022766592
T[17] := factorial(48) = (48)! = 12602690238498734080
T[18] := factorial(47) = (47)! = 17172071447535812608
T[19] := factorial(46) = (46)! = 1150331055211806720
T[20] := factorial(45) = (45)! = 9649395409222631424
T[21] := factorial(44) = (44)! = 2673996885588443136
T[22] := factorial(43) = (43)! = 10541877243825618944
T[23] := factorial(42) = (42)! = 7538058755741581312
T[24] := factorial(41) = (41)! = 15551764317513711616
T[25] := factorial(40) = (40)! = 18376134811363311616
T[26] := factorial(39) = (39)! = 2304077777655037952
T[27] := factorial(38) = (38)! = 4789013295250014208
T[28] := factorial(37) = (37)! = 1096907932701818880
T[29] := factorial(36) = (36)! = 9003737871877668864
T[30] := factorial(35) = (35)! = 6399018521010896896
T[31] := factorial(34) = (34)! = 4926277576697053184
T[32] := factorial(33) = (33)! = 3400198294675128320
T[33] := factorial(32) = (32)! = 12400865694432886784
T[34] := factorial(31) = (31)! = 4999213071378415616
T[35] := factorial(30) = (30)! = 9682165104862298112
T[36] := factorial(29) = (29)! = 11390785281054474240
T[37] := factorial(28) = (28)! = 12478583540742619136
T[38] := factorial(27) = (27)! = 12963097176472289280
T[39] := factorial(26) = (26)! = 16877220553537093632
T[40] := factorial(25) = (25)! = 7034535277573963776
T[41] := factorial(24) = (24)! = 10611558092380307456
T[42] := factorial(23) = (23)! = 8128291617894825984
T[43] := factorial(22) = (22)! = 17196083355034583040
T[44] := factorial(21) = (21)! = 14197454024290336768
T[45] := factorial(20) = (20)! = 2432902008176640000
T[46] := factorial(19) = (19)! = 121645100408832000
T[47] := factorial(18) = (18)! = 6402373705728000
T[48] := factorial(17) = (17)! = 355687428096000
T[49] := factorial(16) = (16)! = 20922789888000
T[50] := factorial(15) = (15)! = 1307674368000
T[51] := factorial(14) = (14)! = 87178291200
T[52] := factorial(13) = (13)! = 6227020800
T[53] := factorial(12) = (12)! = 479001600
T[54] := factorial(11) = (11)! = 39916800
T[55] := factorial(10) = (10)! = 3628800
T[56] := factorial(9) = (9)! = 362880
T[57] := factorial(8) = (8)! = 40320
T[58] := factorial(7) = (7)! = 5040
T[59] := factorial(6) = (6)! = 720
T[60] := factorial(5) = (5)! = 120
T[61] := factorial(4) = (4)! = 24
T[62] := factorial(3) = (3)! = 6
T[63] := factorial(2) = (2)! = 2
T[64] := factorial(1) = (1)! = 1

(1 / T[0]) = (1 / 9223372036854775808) = 1.08420217248550443400745280086994171142578125e-19.
(1 / T[1]) = (1 / 9223372036854775808) = 1.08420217248550443400745280086994171142578125e-19.
(1 / T[2]) = (1 / 1585267068834414592) = 6.30808536718838943439616092881744814036363440541414482586453317189412182131036388454958796501159668e-19.
(1 / T[3]) = (1 / 7638104968020361216) = 1.309225264888156297662723225479803458091686396959119364087818874206950447991459896002197638154029846e-19.
(1 / T[4]) = (1 / 3098476543630901248) = 3.227392513445222501346303134530375502231830080379847252252055705545180641635738538752775639295578003e-19.
(1 / T[5]) = (1 / 9727775195120271360) = 1.027984282060330130051050848789682979364409388145885355708833552705085134792994949748390354216098785e-19.
(1 / T[6]) = (1 / 162129586585337856) = 6.167905692361980780047696335557194624433334290686418085132894893740651554026044323109090328216552734e-18.
(1 / T[7]) = (1 / 2504001392817995776) = 3.99360800224876453390472107572710781479406467071782587440471174421163791379285612492822110652923584e-19.
(1 / T[8]) = (1 / 6404118670120845312) = 1.561495111990374881012829509246659018763186032708235002030417283916396975484985887305811047554016113e-19.
(1 / T[9]) = (1 / 6908521828386340864) = 1.447487646186644772414255907553433559482031998270172859763243089405854169271492537518497556447982788e-19.
(1 / T[10]) = (1 / 6711489344688881664) = 1.489982250797056252874586363401948231626454775496495728635927216368731174078732237830990925431251526e-19.
(1 / T[11]) = (1 / 10519282829630636032) = 9.50635148988681614421616430881190891954527936199995567880738020234004936881433422968257218599319458e-20.
(1 / T[12]) = (1 / 13175843659825807360) = 7.589646825038455307200389676950583077870852261845009400057856808466047460193237839121138677000999451e-20.
(1 / T[13]) = (1 / 9994050523088551936) = 1.000595301864614693116746035656340128581767350489224182304672495732490722364360635765478946268558502e-19.
(1 / T[14]) = (1 / 18284192274659147776) = 5.469205229185558363221202926338644452360917504749919928199492245380133881305084742052713409066200256e-20.
(1 / T[15]) = (1 / 15188249005818642432) = 6.584037433261058626315122747133625100946933977144928122763979037304279962050657104555284604430198669e-20.
(1 / T[16]) = (1 / 8789267254022766592) = 1.137751272203390128107638181047964849359748082386584368096104198870080481675870487379143014550209045e-19.
(1 / T[17]) = (1 / 12602690238498734080) = 7.934813766549598658208990425096079332701638958718522115960120841835281901843757168535375967621803284e-20.
(1 / T[18]) = (1 / 17172071447535812608) = 5.823409266932089994910827473586939922642565582829483048515030398258052191096112437662668526172637939e-20.
(1 / T[19]) = (1 / 1150331055211806720) = 8.693149641308025443189145265311138141228065069562171980261825821392762669859166635433211922645568848e-19.
(1 / T[20]) = (1 / 9649395409222631424) = 1.036334358362210981733926214460651797062864929183711526852237064981812619812728826218517497181892395e-19.
(1 / T[21]) = (1 / 2673996885588443136) = 3.739720137257896377418136692574652015537340387383811719072360135220078891649109209538437426090240479e-19.
(1 / T[22]) = (1 / 10541877243825618944) = 9.485976518894681088585945984202713644634515871086129452208364070146459634536029170703841373324394226e-20.
(1 / T[23]) = (1 / 7538058755741581312) = 1.326601493041323093804705908412158628351599110254046220970487675360274804070570553449215367436408997e-19.
(1 / T[24]) = (1 / 15551764317513711616) = 6.430138597675660950353326517785726873973361451550566389280682460562188484942680588574148714542388916e-20.
(1 / T[25]) = (1 / 18376134811363311616) = 5.441840791141925413183004478172199152903907339519060119881344722830157634163583679764997214078903198e-20.
(1 / T[26]) = (1 / 2304077777655037952) = 4.340131265090123433015478527485500881114515851366072819926298178606904887288919780985452234745025635e-19.
(1 / T[27]) = (1 / 4789013295250014208) = 2.088112808105691869924731083569285259541630716029320990911684108098586576396371583541622385382652283e-19.
(1 / T[28]) = (1 / 1096907932701818880) = 9.116535400896201500929943441933132123874700032396657688457333604606369625855677440995350480079650879e-19.
(1 / T[29]) = (1 / 9003737871877668864) = 1.110649837023139300042549561205190561515953323270939067541196991093996326860349199705524370074272156e-19.
(1 / T[30]) = (1 / 6399018521010896896) = 1.562739655646477380892696552554155496761738949953131410708552116381464536232215323252603411674499512e-19.
(1 / T[31]) = (1 / 4926277576697053184) = 2.029930275813802546836213263140678056231305513535500619692556199856817156224053633195580914616584778e-19.
(1 / T[32]) = (1 / 3400198294675128320) = 2.94100494540582352051641419389346837770780057644808278616539932081783148554166018584510311484336853e-19.
(1 / T[33]) = (1 / 12400865694432886784) = 8.063953151665285768186808446574614784476978848083338270190630530992112467991717039694776758551597595e-20.
(1 / T[34]) = (1 / 4999213071378415616) = 2.000314820996964391002384152827705545795997986125651431532452634775784416909516494342824444174766541e-19.
(1 / T[35]) = (1 / 9682165104862298112) = 1.032826841072776997026950697730699208625361299463986189138260421926072962772735763792297802865505219e-19.
(1 / T[36]) = (1 / 11390785281054474240) = 8.779025987464030508121718994662328990235623784252274002513994418002429842573519636061973869800567627e-20.
(1 / T[37]) = (1 / 12478583540742619136) = 8.013730057862709208685990201180404102359911354745243625185241551512477231611342176620382815599441528e-20.
(1 / T[38]) = (1 / 12963097176472289280) = 7.714205844379351220442307590283867888447153857127854916092693027609983325021403288701549172401428223e-20.
(1 / T[39]) = (1 / 16877220553537093632) = 5.925146245662008780449842354395082473873705632309314560039469494409983263416563659120583906769752502e-20.
(1 / T[40]) = (1 / 7034535277573963776) = 1.421558014198878427804392419215390985622496694920617818255280764058040565700480328814592212438583374e-19.
(1 / T[41]) = (1 / 10611558092380307456) = 9.423686807294170693318948175954948019683466235544601296535251525304105468805460077419411391019821167e-20.
(1 / T[42]) = (1 / 8128291617894825984) = 1.230270820744732847600809726906469170638222121705104977548044832558193917293465347029268741607666016e-19.
(1 / T[43]) = (1 / 17196083355034583040) = 5.815277696401867087825620308901504154687317329562106344189912444453752216055875123856822028756141663e-20.
(1 / T[44]) = (1 / 14197454024290336768) = 7.043516381804132984552581733844016154884793905449790136826614643386981762240850457601482048630714417e-20.
(1 / T[45]) = (1 / 2432902008176640000) = 4.110317623312164858406048319808521350574847169139635097818954361046511758459587326797191053628921509e-19.
(1 / T[46]) = (1 / 121645100408832000) = 8.220635246624329716718057091551259700512195415301490541412415477551256515198474517092108726501464844e-18.
(1 / T[47]) = (1 / 6402373705728000) = 1.561920696858622646281755141228416303811315922642396415600911374621517779814894311130046844482421875e-16.
(1 / T[48]) = (1 / 355687428096000) = 2.8114572543455207631627145083821066578811703150624439991912828507025778890238143503665924072265625e-15.
(1 / T[49]) = (1 / 20922789888000) = 4.7794773323873852975114297603566878281119079915870997109228479615694595850072801113128662109375e-14.
(1 / T[50]) = (1 / 1307674368000) = 7.6471637318198164760182876165707005249790527865393595374765567385111353360116481781005859375e-13.
(1 / T[51]) = (1 / 87178291200) = 1.1470745597729724713978127618279737549630346144478865166860259705572389066219329833984375e-11.
(1 / T[52]) = (1 / 6227020800) = 1.60590438368216145992538343035032278473177931761572967417350810137577354907989501953125e-10.
(1 / T[53]) = (1 / 479001600) = 2.0876756987868098978903766849718834312647254558559239967507892288267612457275390625e-09.
(1 / T[54]) = (1 / 39916800) = 2.505210838544171877468452021966260117517670547027108796100947074592113494873046875e-08.
(1 / T[55]) = (1 / 3628800) = 2.755731922398589065134517867468254520395276596644862365792505443096160888671875e-07.
(1 / T[56]) = (1 / 362880) = 2.7557319223985890651862166557528187500747396398992350441403687000274658203125e-06.
(1 / T[57]) = (1 / 40320) = 2.48015873015873015872963353611901395068262132781455875374376773834228515625e-05.
(1 / T[58]) = (1 / 5040) = 0.0001984126984126984126983706828895211160546097062251647002995014190673828125.
(1 / T[59]) = (1 / 720) = 0.0013888888888888888888488901108241024839884403263567946851253509521484375.
(1 / T[60]) = (1 / 120) = 0.0083333333333333333337286153753853401582318838336504995822906494140625.
(1 / T[61]) = (1 / 24) = 0.04166666666666666666779604392967240045209109666757285594940185546875.
(1 / T[62]) = (1 / 6) = 0.166666666666666666671184175718689601808364386670291423797607421875.
(1 / T[63]) = (1 / 2) = 0.5.
(1 / T[64]) = (1 / 1) = 1.

A := A + (1 / (65 - 0)!)
   = 1 + (1 / 9223372036854775808)
   = 1 + 1.08420217248550443400745280086994171142578125e-19
   = 1.000000000000000000108420217248550443400745280086994171142578125.

A := A + (1 / (65 - 1)!)
   = 1.000000000000000000108420217248550443400745280086994171142578125 + (1 / 9223372036854775808)
   = 1.000000000000000000108420217248550443400745280086994171142578125 + 1.08420217248550443400745280086994171142578125e-19
   = 1.00000000000000000021684043449710088680149056017398834228515625.

A := A + (1 / (65 - 2)!)
   = 1.00000000000000000021684043449710088680149056017398834228515625 + (1 / 1585267068834414592)
   = 1.00000000000000000021684043449710088680149056017398834228515625 + 6.30808536718838943439616092881744814036363440541414482586453317189412182131036388454958796501159668e-19
   = 1.000000000000000000867361737988403547205962240695953369140625.

A := A + (1 / (65 - 3)!)
   = 1.000000000000000000867361737988403547205962240695953369140625 + (1 / 7638104968020361216)
   = 1.000000000000000000867361737988403547205962240695953369140625 + 1.309225264888156297662723225479803458091686396959119364087818874206950447991459896002197638154029846e-19
   = 1.000000000000000000975781955236953990606707520782947540283203125.

A := A + (1 / (65 - 4)!)
   = 1.000000000000000000975781955236953990606707520782947540283203125 + (1 / 3098476543630901248)
   = 1.000000000000000000975781955236953990606707520782947540283203125 + 3.227392513445222501346303134530375502231830080379847252252055705545180641635738538752775639295578003e-19
   = 1.0000000000000000013010426069826053208089433610439300537109375.

A := A + (1 / (65 - 5)!)
   = 1.0000000000000000013010426069826053208089433610439300537109375 + (1 / 9727775195120271360)
   = 1.0000000000000000013010426069826053208089433610439300537109375 + 1.027984282060330130051050848789682979364409388145885355708833552705085134792994949748390354216098785e-19
   = 1.000000000000000001409462824231155764209688641130924224853515625.

A := A + (1 / (65 - 6)!)
   = 1.000000000000000001409462824231155764209688641130924224853515625 + (1 / 162129586585337856)
   = 1.000000000000000001409462824231155764209688641130924224853515625 + 6.167905692361980780047696335557194624433334290686418085132894893740651554026044323109090328216552734e-18
   = 1.00000000000000000758941520739853103805216960608959197998046875.

A := A + (1 / (65 - 7)!)
   = 1.00000000000000000758941520739853103805216960608959197998046875 + (1 / 2504001392817995776)
   = 1.00000000000000000758941520739853103805216960608959197998046875 + 3.99360800224876453390472107572710781479406467071782587440471174421163791379285612492822110652923584e-19
   = 1.00000000000000000802309607639273281165515072643756866455078125.

A := A + (1 / (65 - 8)!)
   = 1.00000000000000000802309607639273281165515072643756866455078125 + (1 / 6404118670120845312)
   = 1.00000000000000000802309607639273281165515072643756866455078125 + 1.561495111990374881012829509246659018763186032708235002030417283916396975484985887305811047554016113e-19
   = 1.000000000000000008131516293641283255055896006524562835693359375.

A := A + (1 / (65 - 9)!)
   = 1.000000000000000008131516293641283255055896006524562835693359375 + (1 / 6908521828386340864)
   = 1.000000000000000008131516293641283255055896006524562835693359375 + 1.447487646186644772414255907553433559482031998270172859763243089405854169271492537518497556447982788e-19
   = 1.0000000000000000082399365108898336984566412866115570068359375.

A := A + (1 / (65 - 10)!)
   = 1.0000000000000000082399365108898336984566412866115570068359375 + (1 / 6711489344688881664)
   = 1.0000000000000000082399365108898336984566412866115570068359375 + 1.489982250797056252874586363401948231626454775496495728635927216368731174078732237830990925431251526e-19
   = 1.000000000000000008348356728138384141857386566698551177978515625.

A := A + (1 / (65 - 11)!)
   = 1.000000000000000008348356728138384141857386566698551177978515625 + (1 / 10519282829630636032)
   = 1.000000000000000008348356728138384141857386566698551177978515625 + 9.50635148988681614421616430881190891954527936199995567880738020234004936881433422968257218599319458e-20
   = 1.00000000000000000845677694538693458525813184678554534912109375.

A := A + (1 / (65 - 12)!)
   = 1.00000000000000000845677694538693458525813184678554534912109375 + (1 / 13175843659825807360)
   = 1.00000000000000000845677694538693458525813184678554534912109375 + 7.589646825038455307200389676950583077870852261845009400057856808466047460193237839121138677000999451e-20
   = 1.000000000000000008565197162635485028658877126872539520263671875.

A := A + (1 / (65 - 13)!)
   = 1.000000000000000008565197162635485028658877126872539520263671875 + (1 / 9994050523088551936)
   = 1.000000000000000008565197162635485028658877126872539520263671875 + 1.000595301864614693116746035656340128581767350489224182304672495732490722364360635765478946268558502e-19
   = 1.00000000000000000867361737988403547205962240695953369140625.

A := A + (1 / (65 - 14)!)
   = 1.00000000000000000867361737988403547205962240695953369140625 + (1 / 18284192274659147776)
   = 1.00000000000000000867361737988403547205962240695953369140625 + 5.469205229185558363221202926338644452360917504749919928199492245380133881305084742052713409066200256e-20
   = 1.000000000000000008782037597132585915460367687046527862548828125.

A := A + (1 / (65 - 15)!)
   = 1.000000000000000008782037597132585915460367687046527862548828125 + (1 / 15188249005818642432)
   = 1.000000000000000008782037597132585915460367687046527862548828125 + 6.584037433261058626315122747133625100946933977144928122763979037304279962050657104555284604430198669e-20
   = 1.00000000000000000889045781438113635886111296713352203369140625.

A := A + (1 / (65 - 16)!)
   = 1.00000000000000000889045781438113635886111296713352203369140625 + (1 / 8789267254022766592)
   = 1.00000000000000000889045781438113635886111296713352203369140625 + 1.137751272203390128107638181047964849359748082386584368096104198870080481675870487379143014550209045e-19
   = 1.000000000000000008998878031629686802261858247220516204833984375.

A := A + (1 / (65 - 17)!)
   = 1.000000000000000008998878031629686802261858247220516204833984375 + (1 / 12602690238498734080)
   = 1.000000000000000008998878031629686802261858247220516204833984375 + 7.934813766549598658208990425096079332701638958718522115960120841835281901843757168535375967621803284e-20
   = 1.0000000000000000091072982488782372456626035273075103759765625.

A := A + (1 / (65 - 18)!)
   = 1.0000000000000000091072982488782372456626035273075103759765625 + (1 / 17172071447535812608)
   = 1.0000000000000000091072982488782372456626035273075103759765625 + 5.823409266932089994910827473586939922642565582829483048515030398258052191096112437662668526172637939e-20
   = 1.000000000000000009215718466126787689063348807394504547119140625.

A := A + (1 / (65 - 19)!)
   = 1.000000000000000009215718466126787689063348807394504547119140625 + (1 / 1150331055211806720)
   = 1.000000000000000009215718466126787689063348807394504547119140625 + 8.693149641308025443189145265311138141228065069562171980261825821392762669859166635433211922645568848e-19
   = 1.000000000000000010083080204115191236269311048090457916259765625.

A := A + (1 / (65 - 20)!)
   = 1.000000000000000010083080204115191236269311048090457916259765625 + (1 / 9649395409222631424)
   = 1.000000000000000010083080204115191236269311048090457916259765625 + 1.036334358362210981733926214460651797062864929183711526852237064981812619812728826218517497181892395e-19
   = 1.00000000000000001019150042136374167967005632817745208740234375.

A := A + (1 / (65 - 21)!)
   = 1.00000000000000001019150042136374167967005632817745208740234375 + (1 / 2673996885588443136)
   = 1.00000000000000001019150042136374167967005632817745208740234375 + 3.739720137257896377418136692574652015537340387383811719072360135220078891649109209538437426090240479e-19
   = 1.000000000000000010516761073109393009872292168438434600830078125.

A := A + (1 / (65 - 22)!)
   = 1.000000000000000010516761073109393009872292168438434600830078125 + (1 / 10541877243825618944)
   = 1.000000000000000010516761073109393009872292168438434600830078125 + 9.485976518894681088585945984202713644634515871086129452208364070146459634536029170703841373324394226e-20
   = 1.00000000000000001062518129035794345327303744852542877197265625.

A := A + (1 / (65 - 23)!)
   = 1.00000000000000001062518129035794345327303744852542877197265625 + (1 / 7538058755741581312)
   = 1.00000000000000001062518129035794345327303744852542877197265625 + 1.326601493041323093804705908412158628351599110254046220970487675360274804070570553449215367436408997e-19
   = 1.000000000000000010733601507606493896673782728612422943115234375.

A := A + (1 / (65 - 24)!)
   = 1.000000000000000010733601507606493896673782728612422943115234375 + (1 / 15551764317513711616)
   = 1.000000000000000010733601507606493896673782728612422943115234375 + 6.430138597675660950353326517785726873973361451550566389280682460562188484942680588574148714542388916e-20
   = 1.0000000000000000108420217248550443400745280086994171142578125.

A := A + (1 / (65 - 25)!)
   = 1.0000000000000000108420217248550443400745280086994171142578125 + (1 / 18376134811363311616)
   = 1.0000000000000000108420217248550443400745280086994171142578125 + 5.441840791141925413183004478172199152903907339519060119881344722830157634163583679764997214078903198e-20
   = 1.000000000000000010950441942103594783475273288786411285400390625.

A := A + (1 / (65 - 26)!)
   = 1.000000000000000010950441942103594783475273288786411285400390625 + (1 / 2304077777655037952)
   = 1.000000000000000010950441942103594783475273288786411285400390625 + 4.340131265090123433015478527485500881114515851366072819926298178606904887288919780985452234745025635e-19
   = 1.000000000000000011384122811097796557078254409134387969970703125.

A := A + (1 / (65 - 27)!)
   = 1.000000000000000011384122811097796557078254409134387969970703125 + (1 / 4789013295250014208)
   = 1.000000000000000011384122811097796557078254409134387969970703125 + 2.088112808105691869924731083569285259541630716029320990911684108098586576396371583541622385382652283e-19
   = 1.000000000000000011600963245594897443879744969308376312255859375.

A := A + (1 / (65 - 28)!)
   = 1.000000000000000011600963245594897443879744969308376312255859375 + (1 / 1096907932701818880)
   = 1.000000000000000011600963245594897443879744969308376312255859375 + 9.116535400896201500929943441933132123874700032396657688457333604606369625855677440995350480079650879e-19
   = 1.000000000000000012468324983583300991085707210004329681396484375.

A := A + (1 / (65 - 29)!)
   = 1.000000000000000012468324983583300991085707210004329681396484375 + (1 / 9003737871877668864)
   = 1.000000000000000012468324983583300991085707210004329681396484375 + 1.110649837023139300042549561205190561515953323270939067541196991093996326860349199705524370074272156e-19
   = 1.0000000000000000125767452008318514344864524900913238525390625.

A := A + (1 / (65 - 30)!)
   = 1.0000000000000000125767452008318514344864524900913238525390625 + (1 / 6399018521010896896)
   = 1.0000000000000000125767452008318514344864524900913238525390625 + 1.562739655646477380892696552554155496761738949953131410708552116381464536232215323252603411674499512e-19
   = 1.000000000000000012685165418080401877887197770178318023681640625.

A := A + (1 / (65 - 31)!)
   = 1.000000000000000012685165418080401877887197770178318023681640625 + (1 / 4926277576697053184)
   = 1.000000000000000012685165418080401877887197770178318023681640625 + 2.029930275813802546836213263140678056231305513535500619692556199856817156224053633195580914616584778e-19
   = 1.000000000000000012902005852577502764688688330352306365966796875.

A := A + (1 / (65 - 32)!)
   = 1.000000000000000012902005852577502764688688330352306365966796875 + (1 / 3400198294675128320)
   = 1.000000000000000012902005852577502764688688330352306365966796875 + 2.94100494540582352051641419389346837770780057644808278616539932081783148554166018584510311484336853e-19
   = 1.00000000000000001322726650432315409489092417061328887939453125.

A := A + (1 / (65 - 33)!)
   = 1.00000000000000001322726650432315409489092417061328887939453125 + (1 / 12400865694432886784)
   = 1.00000000000000001322726650432315409489092417061328887939453125 + 8.063953151665285768186808446574614784476978848083338270190630530992112467991717039694776758551597595e-20
   = 1.000000000000000013335686721571704538291669450700283050537109375.

A := A + (1 / (65 - 34)!)
   = 1.000000000000000013335686721571704538291669450700283050537109375 + (1 / 4999213071378415616)
   = 1.000000000000000013335686721571704538291669450700283050537109375 + 2.000314820996964391002384152827705545795997986125651431532452634775784416909516494342824444174766541e-19
   = 1.000000000000000013552527156068805425093160010874271392822265625.

A := A + (1 / (65 - 35)!)
   = 1.000000000000000013552527156068805425093160010874271392822265625 + (1 / 9682165104862298112)
   = 1.000000000000000013552527156068805425093160010874271392822265625 + 1.032826841072776997026950697730699208625361299463986189138260421926072962772735763792297802865505219e-19
   = 1.00000000000000001366094737331735586849390529096126556396484375.

A := A + (1 / (65 - 36)!)
   = 1.00000000000000001366094737331735586849390529096126556396484375 + (1 / 11390785281054474240)
   = 1.00000000000000001366094737331735586849390529096126556396484375 + 8.779025987464030508121718994662328990235623784252274002513994418002429842573519636061973869800567627e-20
   = 1.000000000000000013769367590565906311894650571048259735107421875.

A := A + (1 / (65 - 37)!)
   = 1.000000000000000013769367590565906311894650571048259735107421875 + (1 / 12478583540742619136)
   = 1.000000000000000013769367590565906311894650571048259735107421875 + 8.013730057862709208685990201180404102359911354745243625185241551512477231611342176620382815599441528e-20
   = 1.00000000000000001387778780781445675529539585113525390625.

A := A + (1 / (65 - 38)!)
   = 1.00000000000000001387778780781445675529539585113525390625 + (1 / 12963097176472289280)
   = 1.00000000000000001387778780781445675529539585113525390625 + 7.714205844379351220442307590283867888447153857127854916092693027609983325021403288701549172401428223e-20
   = 1.000000000000000013986208025063007198696141131222248077392578125.

A := A + (1 / (65 - 39)!)
   = 1.000000000000000013986208025063007198696141131222248077392578125 + (1 / 16877220553537093632)
   = 1.000000000000000013986208025063007198696141131222248077392578125 + 5.925146245662008780449842354395082473873705632309314560039469494409983263416563659120583906769752502e-20
   = 1.00000000000000001409462824231155764209688641130924224853515625.

A := A + (1 / (65 - 40)!)
   = 1.00000000000000001409462824231155764209688641130924224853515625 + (1 / 7034535277573963776)
   = 1.00000000000000001409462824231155764209688641130924224853515625 + 1.421558014198878427804392419215390985622496694920617818255280764058040565700480328814592212438583374e-19
   = 1.000000000000000014203048459560108085497631691396236419677734375.

A := A + (1 / (65 - 41)!)
   = 1.000000000000000014203048459560108085497631691396236419677734375 + (1 / 10611558092380307456)
   = 1.000000000000000014203048459560108085497631691396236419677734375 + 9.423686807294170693318948175954948019683466235544601296535251525304105468805460077419411391019821167e-20
   = 1.0000000000000000143114686768086585288983769714832305908203125.

A := A + (1 / (65 - 42)!)
   = 1.0000000000000000143114686768086585288983769714832305908203125 + (1 / 8128291617894825984)
   = 1.0000000000000000143114686768086585288983769714832305908203125 + 1.230270820744732847600809726906469170638222121705104977548044832558193917293465347029268741607666016e-19
   = 1.000000000000000014419888894057208972299122251570224761962890625.

A := A + (1 / (65 - 43)!)
   = 1.000000000000000014419888894057208972299122251570224761962890625 + (1 / 17196083355034583040)
   = 1.000000000000000014419888894057208972299122251570224761962890625 + 5.815277696401867087825620308901504154687317329562106344189912444453752216055875123856822028756141663e-20
   = 1.00000000000000001452830911130575941569986753165721893310546875.

A := A + (1 / (65 - 44)!)
   = 1.00000000000000001452830911130575941569986753165721893310546875 + (1 / 14197454024290336768)
   = 1.00000000000000001452830911130575941569986753165721893310546875 + 7.043516381804132984552581733844016154884793905449790136826614643386981762240850457601482048630714417e-20
   = 1.000000000000000014636729328554309859100612811744213104248046875.

A := A + (1 / (65 - 45)!)
   = 1.000000000000000014636729328554309859100612811744213104248046875 + (1 / 2432902008176640000)
   = 1.000000000000000014636729328554309859100612811744213104248046875 + 4.110317623312164858406048319808521350574847169139635097818954361046511758459587326797191053628921509e-19
   = 1.000000000000000015070410197548511632703593932092189788818359375.

A := A + (1 / (65 - 46)!)
   = 1.000000000000000015070410197548511632703593932092189788818359375 + (1 / 121645100408832000)
   = 1.000000000000000015070410197548511632703593932092189788818359375 + 8.220635246624329716718057091551259700512195415301490541412415477551256515198474517092108726501464844e-18
   = 1.000000000000000023310346708438345331160235218703746795654296875.

A := A + (1 / (65 - 47)!)
   = 1.000000000000000023310346708438345331160235218703746795654296875 + (1 / 6402373705728000)
   = 1.000000000000000023310346708438345331160235218703746795654296875 + 1.561920696858622646281755141228416303811315922642396415600911374621517779814894311130046844482421875e-16
   = 1.000000000000000179543879763599534271634183824062347412109375.

A := A + (1 / (65 - 48)!)
   = 1.000000000000000179543879763599534271634183824062347412109375 + (1 / 355687428096000)
   = 1.000000000000000179543879763599534271634183824062347412109375 + 2.8114572543455207631627145083821066578811703150624439991912828507025778890238143503665924072265625e-15
   = 1.000000000000002990988533235761082096360041759908199310302734375.

A := A + (1 / (65 - 49)!)
   = 1.000000000000002990988533235761082096360041759908199310302734375 + (1 / 20922789888000)
   = 1.000000000000002990988533235761082096360041759908199310302734375 + 4.7794773323873852975114297603566878281119079915870997109228479615694595850072801113128662109375e-14
   = 1.000000000000050785764482697004496003501117229461669921875.

A := A + (1 / (65 - 50)!)
   = 1.000000000000050785764482697004496003501117229461669921875 + (1 / 1307674368000)
   = 1.000000000000050785764482697004496003501117229461669921875 + 7.6471637318198164760182876165707005249790527865393595374765567385111353360116481781005859375e-13
   = 1.00000000000081550217967407689911851775832474231719970703125.

A := A + (1 / (65 - 51)!)
   = 1.00000000000081550217967407689911851775832474231719970703125 + (1 / 87178291200)
   = 1.00000000000081550217967407689911851775832474231719970703125 + 1.1470745597729724713978127618279737549630346144478865166860259705572389066219329833984375e-11
   = 1.00000000001228624775702347182715357121196575462818145751953125.

A := A + (1 / (65 - 52)!)
   = 1.00000000001228624775702347182715357121196575462818145751953125 + (1 / 6227020800)
   = 1.00000000001228624775702347182715357121196575462818145751953125 + 1.60590438368216145992538343035032278473177931761572967417350810137577354907989501953125e-10
   = 1.000000000172876686165175652565295649765175767242908477783203125.

A := A + (1 / (65 - 53)!)
   = 1.000000000172876686165175652565295649765175767242908477783203125 + (1 / 479001600)
   = 1.000000000172876686165175652565295649765175767242908477783203125 + 2.0876756987868098978903766849718834312647254558559239967507892288267612457275390625e-09
   = 1.000000002260552384929052915918390453953179530799388885498046875.

A := A + (1 / (65 - 54)!)
   = 1.000000002260552384929052915918390453953179530799388885498046875 + (1 / 39916800)
   = 1.000000002260552384929052915918390453953179530799388885498046875 + 2.505210838544171877468452021966260117517670547027108796100947074592113494873046875e-08
   = 1.00000002731266077042084072790117943441146053373813629150390625.

A := A + (1 / (65 - 55)!)
   = 1.00000002731266077042084072790117943441146053373813629150390625 + (1 / 3628800)
   = 1.00000002731266077042084072790117943441146053373813629150390625 + 2.755731922398589065134517867468254520395276596644862365792505443096160888671875e-07
   = 1.00000030288585301028840557346910600244882516562938690185546875.

A := A + (1 / (65 - 56)!)
   = 1.00000030288585301028840557346910600244882516562938690185546875 + (1 / 362880)
   = 1.00000030288585301028840557346910600244882516562938690185546875 + 2.7557319223985890651862166557528187500747396398992350441403687000274658203125e-06
   = 1.000003058617775408855633811899821239421726204454898834228515625.

A := A + (1 / (65 - 57)!)
   = 1.000003058617775408855633811899821239421726204454898834228515625 + (1 / 40320)
   = 1.000003058617775408855633811899821239421726204454898834228515625 + 2.48015873015873015872963353611901395068262132781455875374376773834228515625e-05
   = 1.00002786020507699617752839227335925897932611405849456787109375.

A := A + (1 / (65 - 58)!)
   = 1.00002786020507699617752839227335925897932611405849456787109375 + (1 / 5040)
   = 1.00002786020507699617752839227335925897932611405849456787109375 + 0.0001984126984126984126983706828895211160546097062251647002995014190673828125
   = 1.000226272903489694644264818013112972039380110800266265869140625.

A := A + (1 / (65 - 59)!)
   = 1.000226272903489694644264818013112972039380110800266265869140625 + (1 / 720)
   = 1.000226272903489694644264818013112972039380110800266265869140625 + 0.0013888888888888888888488901108241024839884403263567946851253509521484375
   = 1.001615161792378583586159146445737633257522247731685638427734375.

A := A + (1 / (65 - 60)!)
   = 1.001615161792378583586159146445737633257522247731685638427734375 + (1 / 120)
   = 1.001615161792378583586159146445737633257522247731685638427734375 + 0.0083333333333333333337286153753853401582318838336504995822906494140625
   = 1.0099484951257119169122644652958342703641392290592193603515625.

A := A + (1 / (65 - 61)!)
   = 1.0099484951257119169122644652958342703641392290592193603515625 + (1 / 24)
   = 1.0099484951257119169122644652958342703641392290592193603515625 + 0.04166666666666666666779604392967240045209109666757285594940185546875
   = 1.051615161792378583542791059546317455897224135696887969970703125.

A := A + (1 / (65 - 62)!)
   = 1.051615161792378583542791059546317455897224135696887969970703125 + (1 / 6)
   = 1.051615161792378583542791059546317455897224135696887969970703125 + 0.166666666666666666671184175718689601808364386670291423797607421875
   = 1.21828182845904525017331765379680064143030904233455657958984375.

A := A + (1 / (65 - 63)!)
   = 1.21828182845904525017331765379680064143030904233455657958984375 + (1 / 2)
   = 1.21828182845904525017331765379680064143030904233455657958984375 + 0.5
   = 1.71828182845904525017331765379680064143030904233455657958984375.

A := A + (1 / (65 - 64)!)
   = 1.71828182845904525017331765379680064143030904233455657958984375 + (1 / 1)
   = 1.71828182845904525017331765379680064143030904233455657958984375 + 1
   = 2.71828182845904525017331765379680064143030904233455657958984375.

A = e(N) := 2.71828182845904525017331765379680064143030904233455657958984375.

--------------------------------
END OF PROGRAM
--------------------------------

This web page was last updated on 08_NOVEMBER_2022. The content displayed on this web page is licensed as PUBLIC_DOMAIN intellectual property.


* * *

END OF WEB PAGE COPY

* * *


This web page was last updated on 15_NOVEMBER_2022. The content displayed on this web page is licensed as PUBLIC_DOMAIN intellectual property.