with Ada.Text_IO; use Ada.Text_IO;
with Ada.Integer_Text_IO; use Ada.Integer_Text_IO;
with Ada.Numerics; use Ada.Numerics;
with Ada.Numerics.Elementary_Functions; 
use  Ada.Numerics.Elementary_Functions;
 
procedure Calculate_digits is
	index, number : Integer;
	factorial_digits : Float := 0.0;
begin
	loop
		Put("Enter an integer greater than 1: ");
		Get(number);
		exit when number > 1;
	end loop;
	for index in 2..number loop
		factorial_digits := factorial_digits + Log(Float(index), 10.0);
	end loop;
	Put_Line("The factorial of"&Integer'Image(number)&" has"&Integer'Image(Integer(factorial_digits))&" digits.");
end Calculate_digits;
				d2l0aCBBZGEuVGV4dF9JTzsgdXNlIEFkYS5UZXh0X0lPOwp3aXRoIEFkYS5JbnRlZ2VyX1RleHRfSU87IHVzZSBBZGEuSW50ZWdlcl9UZXh0X0lPOwp3aXRoIEFkYS5OdW1lcmljczsgdXNlIEFkYS5OdW1lcmljczsKd2l0aCBBZGEuTnVtZXJpY3MuRWxlbWVudGFyeV9GdW5jdGlvbnM7IAp1c2UgIEFkYS5OdW1lcmljcy5FbGVtZW50YXJ5X0Z1bmN0aW9uczsKCnByb2NlZHVyZSBDYWxjdWxhdGVfZGlnaXRzIGlzCglpbmRleCwgbnVtYmVyIDogSW50ZWdlcjsKCWZhY3RvcmlhbF9kaWdpdHMgOiBGbG9hdCA6PSAwLjA7CmJlZ2luCglsb29wCgkJUHV0KCJFbnRlciBhbiBpbnRlZ2VyIGdyZWF0ZXIgdGhhbiAxOiAiKTsKCQlHZXQobnVtYmVyKTsKCQlleGl0IHdoZW4gbnVtYmVyID4gMTsKCWVuZCBsb29wOwoJZm9yIGluZGV4IGluIDIuLm51bWJlciBsb29wCgkJZmFjdG9yaWFsX2RpZ2l0cyA6PSBmYWN0b3JpYWxfZGlnaXRzICsgTG9nKEZsb2F0KGluZGV4KSwgMTAuMCk7CgllbmQgbG9vcDsKCVB1dF9MaW5lKCJUaGUgZmFjdG9yaWFsIG9mIiZJbnRlZ2VyJ0ltYWdlKG51bWJlcikmIiBoYXMiJkludGVnZXInSW1hZ2UoSW50ZWdlcihmYWN0b3JpYWxfZGlnaXRzKSkmIiBkaWdpdHMuIik7CmVuZCBDYWxjdWxhdGVfZGlnaXRzOw==