Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //fpc 3.0.0
- program HelloWorld;
- (* x ^ y function *)
- function pow(x: real; y : real) : real;
- begin
- if (x = 0)
- then
- pow := 0
- else
- pow := exp(y * ln(x));
- end;
- (* end function*)
- (* return count of chars in number *)
- function lenght(x: longint) : integer;
- var counter : integer;
- begin
- counter := 0;
- while x > 9 do
- begin
- x := x div 10;
- counter := counter + 1;
- end;
- counter := counter + 1;
- lenght := counter;
- end;
- (* end function*)
- function armstrongNumber(x : longint) : longint;
- var numbersCount : integer;
- var numberItterator : integer;
- var simpleNumber : byte;
- var calculatedNumber : longint;
- begin
- numbersCount := lenght(x);
- calculatedNumber := 0;
- for numberItterator := 1 to numbersCount do
- begin
- simpleNumber := x mod 10;
- x := x div 10;
- calculatedNumber := calculatedNumber + round(pow(simpleNumber, numbersCount));
- end;
- armstrongNumber := calculatedNumber;
- end;
- (* main function*)
- const number = 153;
- var armstrongCheckResult : longint;
- begin
- armstrongCheckResult := armstrongNumber(number);
- if (armstrongCheckResult = number)
- then
- writeln('this is armstrong number')
- else
- writeln('this is not armstrong number');
- write('inp: ');
- writeln(number);
- write('out: ');
- writeln(armstrongCheckResult);
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement