langs a-z
This commit is contained in:
parent
db842d013d
commit
d066446780
11389 changed files with 98361 additions and 1020 deletions
|
|
@ -0,0 +1,37 @@
|
|||
unit Multiplication;
|
||||
interface
|
||||
|
||||
function Double(Number: Integer): Integer;
|
||||
function Halve(Number: Integer): Integer;
|
||||
function Even(Number: Integer): Boolean;
|
||||
function Ethiopian(NumberA, NumberB: Integer): Integer;
|
||||
|
||||
implementation
|
||||
function Double(Number: Integer): Integer;
|
||||
begin
|
||||
result := Number * 2
|
||||
end;
|
||||
|
||||
function Halve(Number: Integer): Integer;
|
||||
begin
|
||||
result := Number div 2
|
||||
end;
|
||||
|
||||
function Even(Number: Integer): Boolean;
|
||||
begin
|
||||
result := Number mod 2 = 0
|
||||
end;
|
||||
|
||||
function Ethiopian(NumberA, NumberB: Integer): Integer;
|
||||
begin
|
||||
result := 0;
|
||||
while NumberA >= 1 do
|
||||
begin
|
||||
if not Even(NumberA) then
|
||||
result := result + NumberB;
|
||||
NumberA := Halve(NumberA);
|
||||
NumberB := Double(NumberB)
|
||||
end
|
||||
end;
|
||||
begin
|
||||
end.
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
program EthiopianMultiplication;
|
||||
|
||||
uses
|
||||
Multiplication;
|
||||
|
||||
begin
|
||||
WriteLn('17 * 34 = ', Ethiopian(17, 34))
|
||||
end.
|
||||
|
|
@ -0,0 +1 @@
|
|||
17 * 34 = 578
|
||||
Loading…
Add table
Add a link
Reference in a new issue