Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Buy a domain name - Register cheap domain names from $0.99 - Namecheap

Scalable Hosting That Grows With You

Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Semrush - keyword research tool

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

39,974 questions

51,918 answers

573 users

How to calculate power for large numbers in Pascal

1 Answer

0 votes
program PowerOfLargeNumberProgram;

type
  TDigitArray = array of Integer;

function PowerOfLargeNumber(base: Integer; exponent: Integer): TDigitArray;
var
  digits: TDigitArray;
  i, j, carry, temp: Integer;
begin
  SetLength(digits, 1);
  digits[0] := 1;

  for i := 1 to exponent do
  begin
    carry := 0;
    for j := 0 to High(digits) do
    begin
      temp := digits[j] * base + carry;
      digits[j] := temp mod 10;
      carry := temp div 10;
    end;

    while carry > 0 do
    begin
      SetLength(digits, Length(digits) + 1);
      digits[High(digits)] := carry mod 10;
      carry := carry div 10;
    end;
  end;

  PowerOfLargeNumber := digits;
end;

procedure PrintDigits(digits: TDigitArray);
var
  i: Integer;
begin
  for i := High(digits) downto 0 do
    Write(digits[i]);
  WriteLn;
end;

var
  base, exponent: Integer;
  resultDigits: TDigitArray;
begin
  base := 2; exponent := 15;
  resultDigits := PowerOfLargeNumber(base, exponent);
  Write('2^15 = ');
  PrintDigits(resultDigits);

  exponent := 100;
  resultDigits := PowerOfLargeNumber(base, exponent);
  Write('2^100 = ');
  PrintDigits(resultDigits);
end.




(*
run:
  
2^15 = 32768
2^100 = 1267650600228229401496703205376

*)


 



answered Aug 2, 2025 by avibootz

Related questions

1 answer 83 views
1 answer 61 views
1 answer 58 views
1 answer 70 views
1 answer 68 views
...