Assignment 1

(The turn in date for this assignment has already passed. If you have not turned anything in yet, don't give up, you can still get most of the credit for it)


Part 1

Write a program that can calculate factorials of numbers between1 and 500, with perfect accuracy. Note that none of the C or C++ basic types (int, long int, long long int, float, double, or long double, are capable of doing the job. You will need to implement large numbers as arrays of digits (or something similar) and provide functions to perform the mutliplication operation). For your convenience, you may write a program that is accepted as correct (or correct with a "presentation error") for problem number 623 by the University of Valladolid (is Spain)'s Automatic Grading System, and just send your registration number to the grader.

Part 2

Implement the other common arithmetic operations (addition, subtraction, multiplication, together with input and output, but don't worry about negative numbers) on arbitrarily large integers, as a useful library of functions. For extra credit also implement Division and/or negative numbers. For tons of extra credit, try to implement similar functions for floating-point numbers.