...
This commit is contained in:
parent
051504d65b
commit
0457928c3e
295 changed files with 3588 additions and 3 deletions
13
Task/Arithmetic-Integer/0815/arithmetic-integer.0815
Normal file
13
Task/Arithmetic-Integer/0815/arithmetic-integer.0815
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
|~>|~#:end:>
|
||||
<:61:x<:3d:=<:20:$==$~$=${~>%<:2c:~$<:20:~$
|
||||
<:62:x<:3d:=<:20:$==$~$=${~>%<:a:~$$
|
||||
<:61:x<:2b:=<:20:$==$~$=$<:62:x<:3d:=<:20:$==$~$=${x{x~>~>~+%<:a:~$
|
||||
<:61:x<:2d:=<:20:$==$~$=$<:62:x<:3d:=<:20:$==$~$=${x{x~>~>~-%<:a:~$
|
||||
<:61:x<:2a:=<:20:$==$~$=$<:62:x<:3d:=<:20:$==$~$=${x{x~>~>~*%<:a:~$
|
||||
<:61:x<:2f:=<:20:$==$~$=$<:62:x<:3d:=<:20:$==$~$=${x{x~>~>~/%<:a:~$
|
||||
<:61:x<:25:=<:20:$==$~$=$<:62:x<:3d:=<:20:$==$~$=${x{x~>~>~/=%<:a:~$
|
||||
{~>>{x<:1:-^:u:
|
||||
<:61:x<:5e:=<:20:$==$~$$=$<:62:x<:3D:=<:20:$==$~$=${{~%#:end:
|
||||
}:u:=>{x{=>~*>{x<:2:-#:ter:
|
||||
}:ml:x->{x{=>~*>{x<:1:-#:ter:^:ml:
|
||||
}:ter:<:61:x<:5e:=<:20:$==$~$$=$<:62:x<:3D:=<:20:$==$~$=${{~%
|
||||
3
Task/Arithmetic-Integer/0DESCRIPTION
Normal file
3
Task/Arithmetic-Integer/0DESCRIPTION
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
{{basic data operation}}Get two integers from the user, and then output the sum, difference, product, integer quotient and remainder of those numbers. Don't include error handling. For quotient, indicate how it rounds (e.g. towards 0, towards negative infinity, etc.). For remainder, indicate whether its sign matches the sign of the first operand or of the second operand, if they are different.
|
||||
|
||||
Also include the exponentiation operator if one exists.
|
||||
4
Task/Arithmetic-Integer/1META.yaml
Normal file
4
Task/Arithmetic-Integer/1META.yaml
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
---
|
||||
category:
|
||||
- Arithmetic operations
|
||||
note: Basic language learning
|
||||
|
|
@ -0,0 +1,48 @@
|
|||
Arithmetic: PHA ;push accumulator and X register onto stack
|
||||
TXA
|
||||
PHA
|
||||
JSR GetUserInput ;routine not implemented
|
||||
;two integers now in memory locations A and B
|
||||
;addition
|
||||
LDA A
|
||||
CLC
|
||||
ADC B
|
||||
JSR DisplayAddition ;routine not implemented
|
||||
|
||||
;subtraction
|
||||
LDA A
|
||||
SEC
|
||||
SBC B
|
||||
JSR DisplaySubtraction ;routine not implemented
|
||||
|
||||
;multiplication - overflow not handled
|
||||
LDA A
|
||||
LDX B
|
||||
Multiply: CLC
|
||||
ADC A
|
||||
DEX
|
||||
BNE Multiply
|
||||
JSR DisplayMultiply ;routine not implemented
|
||||
|
||||
;division - rounds up
|
||||
LDA A
|
||||
LDX #0
|
||||
SEC
|
||||
Divide: INX
|
||||
SBC B
|
||||
BCS Divide
|
||||
TXA ;get result into accumulator
|
||||
JSR DisplayDivide ;routine not implemented
|
||||
|
||||
;modulus
|
||||
LDA A
|
||||
SEC
|
||||
Modulus: SBC B
|
||||
BCS Modulus
|
||||
ADC B
|
||||
JSR DisplayModulus ;routine not implemented
|
||||
|
||||
PLA ;restore accumulator and X register from stack
|
||||
TAX
|
||||
PLA
|
||||
RTS ;return from subroutine
|
||||
25
Task/Arithmetic-Integer/ABAP/arithmetic-integer.abap
Normal file
25
Task/Arithmetic-Integer/ABAP/arithmetic-integer.abap
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
report zz_arithmetic no standard page heading.
|
||||
|
||||
" Read in the two numbers from the user.
|
||||
selection-screen begin of block input.
|
||||
parameters: p_first type i,
|
||||
p_second type i.
|
||||
selection-screen end of block input.
|
||||
|
||||
" Set the text value that is displayed on input request.
|
||||
at selection-screen output.
|
||||
%_p_first_%_app_%-text = 'First Number: '.
|
||||
%_p_second_%_app_%-text = 'Second Number: '.
|
||||
|
||||
end-of-selection.
|
||||
data: lv_result type i.
|
||||
lv_result = p_first + p_second.
|
||||
write: / 'Addition:', lv_result.
|
||||
lv_result = p_first - p_second.
|
||||
write: / 'Substraction:', lv_result.
|
||||
lv_result = p_first * p_second.
|
||||
write: / 'Multiplication:', lv_result.
|
||||
lv_result = p_first div p_second.
|
||||
write: / 'Integer quotient:', lv_result. " Truncated towards zero.
|
||||
lv_result = p_first mod p_second.
|
||||
write: / 'Remainder:', lv_result.
|
||||
20
Task/Arithmetic-Integer/ACL2/arithmetic-integer.acl2
Normal file
20
Task/Arithmetic-Integer/ACL2/arithmetic-integer.acl2
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
:set-state-ok t
|
||||
|
||||
(defun get-two-nums (state)
|
||||
(mv-let (_ a state)
|
||||
(read-object *standard-oi* state)
|
||||
(declare (ignore _))
|
||||
(mv-let (_ b state)
|
||||
(read-object *standard-oi* state)
|
||||
(declare (ignore _))
|
||||
(mv a b state))))
|
||||
|
||||
(defun integer-arithmetic (state)
|
||||
(mv-let (a b state)
|
||||
(get-two-nums state)
|
||||
(mv state
|
||||
(progn$ (cw "Sum: ~x0~%" (+ a b))
|
||||
(cw "Difference: ~x0~%" (- a b))
|
||||
(cw "Product: ~x0~%" (* a b))
|
||||
(cw "Quotient: ~x0~%" (floor a b))
|
||||
(cw "Remainder: ~x0~%" (mod a b))))))
|
||||
10
Task/Arithmetic-Integer/ALGOL-68/arithmetic-integer.alg
Normal file
10
Task/Arithmetic-Integer/ALGOL-68/arithmetic-integer.alg
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
main:(
|
||||
LONG INT a=355, b=113;
|
||||
printf(($"a+b = "gl$, a + b));
|
||||
printf(($"a-b = "gl$, a - b));
|
||||
printf(($"a*b = a×b = "gl$, a * b));
|
||||
printf(($"a/b = "gl$, a / b));
|
||||
printf(($"a OVER b = a%b = a÷b = "gl$, a % b));
|
||||
printf(($"a MOD b = a%*b = a%×b = a÷×b = a÷*b = "gl$, a %* b));
|
||||
printf(($"a UP b = a**b = a↑b = "gl$, a ** b))
|
||||
)
|
||||
8
Task/Arithmetic-Integer/AWK/arithmetic-integer.awk
Normal file
8
Task/Arithmetic-Integer/AWK/arithmetic-integer.awk
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
/^[ \t]*-?[0-9]+[ \t]+-?[0-9]+[ \t]*$/ {
|
||||
print "add:", $1 + $2
|
||||
print "sub:", $1 - $2
|
||||
print "mul:", $1 * $2
|
||||
print "div:", int($1 / $2) # truncates toward zero
|
||||
print "mod:", $1 % $2 # same sign as first operand
|
||||
print "exp:", $1 ^ $2
|
||||
exit }
|
||||
18
Task/Arithmetic-Integer/Ada/arithmetic-integer.ada
Normal file
18
Task/Arithmetic-Integer/Ada/arithmetic-integer.ada
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
with Ada.Text_Io;
|
||||
with Ada.Integer_Text_IO;
|
||||
|
||||
procedure Integer_Arithmetic is
|
||||
use Ada.Text_IO;
|
||||
use Ada.Integer_Text_Io;
|
||||
|
||||
A, B : Integer;
|
||||
begin
|
||||
Get(A);
|
||||
Get(B);
|
||||
Put_Line("a+b = " & Integer'Image(A + B));
|
||||
Put_Line("a-b = " & Integer'Image(A - B));
|
||||
Put_Line("a*b = " & Integer'Image(A * B));
|
||||
Put_Line("a/b = " & Integer'Image(A / B) & ", remainder " & Integer'Image(A mod B));
|
||||
Put_Line("a**b = " & Integer'Image(A ** B));
|
||||
|
||||
end Integer_Arithmetic;
|
||||
10
Task/Arithmetic-Integer/Aikido/arithmetic-integer.aikido
Normal file
10
Task/Arithmetic-Integer/Aikido/arithmetic-integer.aikido
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
var a = 0
|
||||
var b = 0
|
||||
stdin -> a // read int from stdin
|
||||
stdin -> b // read int from stdin
|
||||
|
||||
println ("a+b=" + (a + b))
|
||||
println ("a-b=" + (a - b))
|
||||
println ("a*b=" + (a * b))
|
||||
println ("a/b=" + (a / b))
|
||||
println ("a%b=" + (a % b))
|
||||
14
Task/Arithmetic-Integer/AmigaE/arithmetic-integer.amiga
Normal file
14
Task/Arithmetic-Integer/AmigaE/arithmetic-integer.amiga
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
PROC main()
|
||||
DEF a, b, t
|
||||
WriteF('A = ')
|
||||
ReadStr(stdin, t)
|
||||
a := Val(t)
|
||||
WriteF('B = ')
|
||||
ReadStr(stdin, t)
|
||||
b := Val(t)
|
||||
WriteF('A+B=\d\nA-B=\d\n', a+b, a-b)
|
||||
WriteF('A*B=\d\nA/B=\d\n', a*b, a/b)
|
||||
/* * and / are 16 bit ops; Mul and Div are 32bit ops */
|
||||
WriteF('A*B=\d\nA/B=\d\n', Mul(a,b), Div(a,b))
|
||||
WriteF('A mod B =\d\n', Mod(a,b))
|
||||
ENDPROC
|
||||
19
Task/Arithmetic-Integer/AutoHotkey/arithmetic-integer.ahk
Normal file
19
Task/Arithmetic-Integer/AutoHotkey/arithmetic-integer.ahk
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
Gui, Add, Edit, va, 5
|
||||
Gui, Add, Edit, vb, -3
|
||||
Gui, Add, Button, Default, Compute
|
||||
Gui, Show
|
||||
Return
|
||||
|
||||
ButtonCompute:
|
||||
Gui, Submit
|
||||
MsgBox,%
|
||||
(Join`s"`n"
|
||||
a "+" b " = " a+b
|
||||
a "-" b " = " a-b
|
||||
a "*" b " = " a*b
|
||||
a "//" b " = " a//b " remainder " Mod(a,b)
|
||||
a "**" b " = " a**b
|
||||
)
|
||||
; fallthrough
|
||||
GuiClose:
|
||||
ExitApp
|
||||
7
Task/Arithmetic-Integer/BASIC/arithmetic-integer.bas
Normal file
7
Task/Arithmetic-Integer/BASIC/arithmetic-integer.bas
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
function math(a!, b!)
|
||||
print a + b
|
||||
print a - b
|
||||
print a * b
|
||||
print a / b
|
||||
print a mod b
|
||||
end function
|
||||
6
Task/Arithmetic-Integer/Befunge/arithmetic-integer.bf
Normal file
6
Task/Arithmetic-Integer/Befunge/arithmetic-integer.bf
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
&&00p"=A",,:."=B ",,,00g.55+,v
|
||||
v,+55.+g00:,,,,"A+B="<
|
||||
>"=B-A",,,,:00g-.55+,v
|
||||
v,+55.*g00:,,,,"A*B="<
|
||||
>"=B/A",,,,:00g/.55+,v
|
||||
@,+55.%g00,,,,"A%B="<
|
||||
17
Task/Arithmetic-Integer/C/arithmetic-integer.c
Normal file
17
Task/Arithmetic-Integer/C/arithmetic-integer.c
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
int a, b;
|
||||
if (argc < 3) exit(1);
|
||||
b = atoi(argv[--argc]);
|
||||
if (b == 0) exit(2);
|
||||
a = atoi(argv[--argc]);
|
||||
printf("a+b = %d\n", a+b);
|
||||
printf("a-b = %d\n", a-b);
|
||||
printf("a*b = %d\n", a*b);
|
||||
printf("a/b = %d\n", a/b); /* truncates towards 0 (in C99) */
|
||||
printf("a%%b = %d\n", a%b); /* same sign as first operand (in C99) */
|
||||
return 0;
|
||||
}
|
||||
6
Task/Arithmetic-Integer/Clojure/arithmetic-integer.clj
Normal file
6
Task/Arithmetic-Integer/Clojure/arithmetic-integer.clj
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
(defn myfunc []
|
||||
(println "Enter x and y")
|
||||
(let [x (read), y (read)]
|
||||
(doseq [op '(+ - * / Math/pow rem)]
|
||||
(let [exp (list op x y)]
|
||||
(printf "%s=%s\n" exp (eval exp))))))
|
||||
29
Task/Arithmetic-Integer/Eiffel/arithmetic-integer.e
Normal file
29
Task/Arithmetic-Integer/Eiffel/arithmetic-integer.e
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
class MAIN
|
||||
creation make
|
||||
feature make is
|
||||
local
|
||||
a, b: REAL;
|
||||
do
|
||||
print("a = ");
|
||||
io.read_real;
|
||||
a := io.last_real;
|
||||
|
||||
print("b = ");
|
||||
io.read_real;
|
||||
b := io.last_real;
|
||||
|
||||
print("a + b = ");
|
||||
io.put_real(a + b);
|
||||
print("%Na - b = ");
|
||||
io.put_real(a - b);
|
||||
print("%Na * b = ");
|
||||
io.put_real(a * b);
|
||||
print("%Na / b = ");
|
||||
io.put_real(a / b);
|
||||
print("%Na %% b = ");
|
||||
io.put_real(((a / b) - (a / b).floor) * b);
|
||||
print("%Na ^ b = ");
|
||||
io.put_real(a.pow(b));
|
||||
print("%N");
|
||||
end
|
||||
end
|
||||
7
Task/Arithmetic-Integer/Forth/arithmetic-integer-1.fth
Normal file
7
Task/Arithmetic-Integer/Forth/arithmetic-integer-1.fth
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
: arithmetic ( a b -- )
|
||||
cr ." a=" over . ." b=" dup .
|
||||
cr ." a+b=" 2dup + .
|
||||
cr ." a-b=" 2dup - .
|
||||
cr ." a*b=" 2dup * .
|
||||
cr ." a/b=" /mod .
|
||||
cr ." a mod b = " . cr ;
|
||||
3
Task/Arithmetic-Integer/Forth/arithmetic-integer-2.fth
Normal file
3
Task/Arithmetic-Integer/Forth/arithmetic-integer-2.fth
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
FM/MOD ( d n -- mod div ) \ floored
|
||||
SM/REM ( d n -- rem div ) \ symmetric
|
||||
M* ( n n -- d )
|
||||
2
Task/Arithmetic-Integer/Forth/arithmetic-integer-3.fth
Normal file
2
Task/Arithmetic-Integer/Forth/arithmetic-integer-3.fth
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
UM/MOD ( ud u -- umod udiv )
|
||||
UM* ( u u -- ud )
|
||||
14
Task/Arithmetic-Integer/Fortran/arithmetic-integer.f
Normal file
14
Task/Arithmetic-Integer/Fortran/arithmetic-integer.f
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
INTEGER A, B
|
||||
PRINT *, 'Type in two integer numbers separated by white space',
|
||||
+ ' and press ENTER'
|
||||
READ *, A, B
|
||||
PRINT *, ' A + B = ', (A + B)
|
||||
PRINT *, ' A - B = ', (A - B)
|
||||
PRINT *, ' A * B = ', (A * B)
|
||||
PRINT *, ' A / B = ', (A / B)
|
||||
PRINT *, 'MOD(A,B) = ', MOD(A,B)
|
||||
PRINT *
|
||||
PRINT *, 'Even though you did not ask, ',
|
||||
+ 'exponentiation is an intrinsic op in Fortran, so...'
|
||||
PRINT *, ' A ** B = ', (A ** B)
|
||||
END
|
||||
15
Task/Arithmetic-Integer/Go/arithmetic-integer.go
Normal file
15
Task/Arithmetic-Integer/Go/arithmetic-integer.go
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
package main
|
||||
|
||||
import "fmt"
|
||||
|
||||
func main() {
|
||||
var a, b int
|
||||
fmt.Print("enter two integers: ")
|
||||
fmt.Scanln(&a, &b)
|
||||
fmt.Printf("%d + %d = %d\n", a, b, a+b)
|
||||
fmt.Printf("%d - %d = %d\n", a, b, a-b)
|
||||
fmt.Printf("%d * %d = %d\n", a, b, a*b)
|
||||
fmt.Printf("%d / %d = %d\n", a, b, a/b) // truncates towards 0
|
||||
fmt.Printf("%d %% %d = %d\n", a, b, a%b) // same sign as first operand
|
||||
// no exponentiation operator
|
||||
}
|
||||
15
Task/Arithmetic-Integer/Haskell/arithmetic-integer.hs
Normal file
15
Task/Arithmetic-Integer/Haskell/arithmetic-integer.hs
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
main = do
|
||||
a <- readLn :: IO Integer
|
||||
b <- readLn :: IO Integer
|
||||
putStrLn $ "a + b = " ++ show (a + b)
|
||||
putStrLn $ "a - b = " ++ show (a - b)
|
||||
putStrLn $ "a * b = " ++ show (a * b)
|
||||
putStrLn $ "a to the power of b = " ++ show (a ** b)
|
||||
putStrLn $ "a to the power of b = " ++ show (a ^ b)
|
||||
putStrLn $ "a to the power of b = " ++ show (a ^^ b)
|
||||
putStrLn $ "a `div` b = " ++ show (a `div` b) -- truncates towards negative infinity
|
||||
putStrLn $ "a `mod` b = " ++ show (a `mod` b) -- same sign as second operand
|
||||
putStrLn $ "a `divMod` b = " ++ show (a `divMod` b)
|
||||
putStrLn $ "a `quot` b = " ++ show (a `quot` b) -- truncates towards 0
|
||||
putStrLn $ "a `rem` b = " ++ show (a `rem` b) -- same sign as first operand
|
||||
putStrLn $ "a `quotRem` b = " ++ show (a `quotRem` b)
|
||||
15
Task/Arithmetic-Integer/Java/arithmetic-integer.java
Normal file
15
Task/Arithmetic-Integer/Java/arithmetic-integer.java
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
import java.util.Scanner;
|
||||
public class Int{
|
||||
public static void main(String[] args){
|
||||
Scanner sc = new Scanner(System.in);
|
||||
int a = sc.nextInt();
|
||||
int b = sc.nextInt();
|
||||
|
||||
int sum = a + b;//integer addition is discouraged in print statements due to confusion with String concatenation
|
||||
System.out.println("a + b = " + sum);
|
||||
System.out.println("a - b = " + (a - b));
|
||||
System.out.println("a * b = " + (a * b));
|
||||
System.out.println("quotient of a / b = " + (a / b)); // truncates towards 0
|
||||
System.out.println("remainder of a / b = " + (a % b)); // same sign as first operand
|
||||
}
|
||||
}
|
||||
26
Task/Arithmetic-Integer/JavaScript/arithmetic-integer.js
Normal file
26
Task/Arithmetic-Integer/JavaScript/arithmetic-integer.js
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
var a = parseInt(get_input("Enter an integer"), 10);
|
||||
var b = parseInt(get_input("Enter an integer"), 10);
|
||||
|
||||
WScript.Echo("a = " + a);
|
||||
WScript.Echo("b = " + b);
|
||||
WScript.Echo("sum: a + b = " + (a + b));
|
||||
WScript.Echo("difference: a - b = " + (a - b));
|
||||
WScript.Echo("product: a * b = " + (a * b));
|
||||
WScript.Echo("quotient: a / b = " + (a / b | 0)); // "| 0" casts it to an integer
|
||||
WScript.Echo("remainder: a % b = " + (a % b));
|
||||
|
||||
function get_input(prompt) {
|
||||
output(prompt);
|
||||
try {
|
||||
return WScript.StdIn.readLine();
|
||||
} catch(e) {
|
||||
return readline();
|
||||
}
|
||||
}
|
||||
function output(prompt) {
|
||||
try {
|
||||
WScript.Echo(prompt);
|
||||
} catch(e) {
|
||||
print(prompt);
|
||||
}
|
||||
}
|
||||
9
Task/Arithmetic-Integer/Lua/arithmetic-integer.lua
Normal file
9
Task/Arithmetic-Integer/Lua/arithmetic-integer.lua
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
local x = io.read()
|
||||
local y = io.read()
|
||||
|
||||
print ("Sum: " , (x + y))
|
||||
print ("Difference: ", (x - y))
|
||||
print ("Product: " , (x * y))
|
||||
print ("Quotient: " , (x / y)) -- Does not truncate
|
||||
print ("Remainder: " , (x % y)) -- Result has sign of right operand
|
||||
print ("Exponent: " , (x ^ y))
|
||||
8
Task/Arithmetic-Integer/MATLAB/arithmetic-integer.m
Normal file
8
Task/Arithmetic-Integer/MATLAB/arithmetic-integer.m
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
disp("integer a: "); a = scanf("%d", 1);
|
||||
disp("integer b: "); b = scanf("%d", 1);
|
||||
a+b
|
||||
a-b
|
||||
a*b
|
||||
floor(a/b)
|
||||
mod(a,b)
|
||||
a^b
|
||||
12
Task/Arithmetic-Integer/PHP/arithmetic-integer.php
Normal file
12
Task/Arithmetic-Integer/PHP/arithmetic-integer.php
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
<?php
|
||||
$a = fgets(STDIN);
|
||||
$b = fgets(STDIN);
|
||||
|
||||
echo
|
||||
"sum: ", $a + $b, "\n",
|
||||
"difference: ", $a - $b, "\n",
|
||||
"product: ", $a * $b, "\n",
|
||||
"truncating quotient: ", (int)($a / $b), "\n",
|
||||
"flooring quotient: ", floor($a / $b), "\n",
|
||||
"remainder: ", $a % $b, "\n";
|
||||
?>
|
||||
11
Task/Arithmetic-Integer/Perl/arithmetic-integer.pl
Normal file
11
Task/Arithmetic-Integer/Perl/arithmetic-integer.pl
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
my $a = <>;
|
||||
my $b = <>;
|
||||
|
||||
print
|
||||
"sum: ", $a + $b, "\n",
|
||||
"difference: ", $a - $b, "\n",
|
||||
"product: ", $a * $b, "\n",
|
||||
"integer quotient: ", int($a / $b), "\n",
|
||||
"remainder: ", $a % $b, "\n",
|
||||
"exponent: ", $a ** $b, "\n"
|
||||
;
|
||||
8
Task/Arithmetic-Integer/PicoLisp/arithmetic-integer.l
Normal file
8
Task/Arithmetic-Integer/PicoLisp/arithmetic-integer.l
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
(de math (A B)
|
||||
(prinl "Add " (+ A B))
|
||||
(prinl "Subtract " (- A B))
|
||||
(prinl "Multiply " (* A B))
|
||||
(prinl "Divide " (/ A B)) # Trucates towards zero
|
||||
(prinl "Div/rnd " (*/ A B)) # Rounds to next integer
|
||||
(prinl "Modulus " (% A B)) # Sign of the first operand
|
||||
(prinl "Power " (** A B)) )
|
||||
14
Task/Arithmetic-Integer/Python/arithmetic-integer-1.py
Normal file
14
Task/Arithmetic-Integer/Python/arithmetic-integer-1.py
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
x = int(raw_input("Number 1: "))
|
||||
y = int(raw_input("Number 2: "))
|
||||
|
||||
print "Sum: %d" % (x + y)
|
||||
print "Difference: %d" % (x - y)
|
||||
print "Product: %d" % (x * y)
|
||||
print "Quotient: %d" % (x / y) # or x // y for newer python versions.
|
||||
# truncates towards negative infinity
|
||||
print "Remainder: %d" % (x % y) # same sign as second operand
|
||||
print "Quotient: %d with Remainder: %d" % divmod(x, y)
|
||||
print "Power: %d" % x**y
|
||||
|
||||
## Only used to keep the display up when the program ends
|
||||
raw_input( )
|
||||
13
Task/Arithmetic-Integer/Python/arithmetic-integer-2.py
Normal file
13
Task/Arithmetic-Integer/Python/arithmetic-integer-2.py
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
def getnum(prompt):
|
||||
while True: # retrying ...
|
||||
try:
|
||||
n = int(raw_input(prompt))
|
||||
except ValueError:
|
||||
print "Input could not be parsed as an integer. Please try again."\
|
||||
continue
|
||||
break
|
||||
return n
|
||||
|
||||
x = getnum("Number1: ")
|
||||
y = getnum("Number2: ")
|
||||
...
|
||||
8
Task/Arithmetic-Integer/Python/arithmetic-integer-3.py
Normal file
8
Task/Arithmetic-Integer/Python/arithmetic-integer-3.py
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
def arithmetic(x, y):
|
||||
for op in "+ - * // % **".split():
|
||||
expr = "%(x)s %(op)s %(y)s" % vars()
|
||||
print("%s\t=> %s" % (expr, eval(expr)))
|
||||
|
||||
|
||||
arithmetic(12, 8)
|
||||
arithmetic(input("Number 1: "), input("Number 2: "))
|
||||
10
Task/Arithmetic-Integer/R/arithmetic-integer.r
Normal file
10
Task/Arithmetic-Integer/R/arithmetic-integer.r
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
cat("insert number ")
|
||||
a <- scan(nmax=1, quiet=TRUE)
|
||||
cat("insert number ")
|
||||
b <- scan(nmax=1, quiet=TRUE)
|
||||
print(paste('a+b=', a+b))
|
||||
print(paste('a-b=', a-b))
|
||||
print(paste('a*b=', a*b))
|
||||
print(paste('a%/%b=', a%/%b))
|
||||
print(paste('a%%b=', a%%b))
|
||||
print(paste('a^b=', a^b))
|
||||
26
Task/Arithmetic-Integer/REXX/arithmetic-integer.rexx
Normal file
26
Task/Arithmetic-Integer/REXX/arithmetic-integer.rexx
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
/*REXX pgm gets 2 integers from the C.L. or via prompt, shows some opers*/
|
||||
numeric digits 20 /*all numbers are rounded at ··· */
|
||||
/*··· the 20th significant digit.*/
|
||||
parse arg x y . /*maybe the integers are on C.L.?*/
|
||||
if y=='' then do /*nope, then prompt user for 'em.*/
|
||||
say "─────Enter two integer values (separated by blanks):"
|
||||
parse pull x y .
|
||||
end
|
||||
do 2 /*show A with B, then B with A.*/
|
||||
say /*show blank line for eyeballing.*/
|
||||
|
||||
call show 'addition' , "+", x+y
|
||||
call show 'subtraction' , "-", x-y
|
||||
call show 'multiplication', "*", x*y
|
||||
call show 'int division' , "%", x%y, ' [rounds down]'
|
||||
call show 'real division' , "/", x/y
|
||||
call show 'div remainder' , "//", x//y, ' [sign from 1st operand]'
|
||||
call show 'power' , "**", x**y
|
||||
|
||||
parse value x y with y x /*swap the two values & do again.*/
|
||||
end /*2*/
|
||||
exit /*stick a fork in it, we're done.*/
|
||||
/*──────────────────────────────────SHOW subroutine─────────────────────*/
|
||||
show: parse arg what,oper,value,comment
|
||||
say right(what,25)' ' x center(oper,4) y ' ───► ' value comment
|
||||
return
|
||||
7
Task/Arithmetic-Integer/Racket/arithmetic-integer.rkt
Normal file
7
Task/Arithmetic-Integer/Racket/arithmetic-integer.rkt
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
#lang racket
|
||||
(define (arithmetic x y)
|
||||
(for ([op '(+ - * / quotient remainder modulo max min gcd lcm)])
|
||||
(displayln (~a (list op x y) " => "
|
||||
((eval op (make-base-namespace)) x y)))))
|
||||
|
||||
(arithmetic 8 12)
|
||||
10
Task/Arithmetic-Integer/Ruby/arithmetic-integer.rb
Normal file
10
Task/Arithmetic-Integer/Ruby/arithmetic-integer.rb
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
puts 'Enter x and y'
|
||||
x=gets.to_i # to check errors, use x=Integer(gets)
|
||||
y=gets.to_i
|
||||
|
||||
puts "Sum: #{x+y}",
|
||||
"Difference: #{x-y}",
|
||||
"Product: #{x*y}",
|
||||
"Quotient: #{x/y}", # truncates towards negative infinity
|
||||
"Remainder: #{x%y}", # same sign as second operand
|
||||
"Exponentiation: #{x**y}"
|
||||
58
Task/Arithmetic-Integer/SNUSP/arithmetic-integer.snusp
Normal file
58
Task/Arithmetic-Integer/SNUSP/arithmetic-integer.snusp
Normal file
|
|
@ -0,0 +1,58 @@
|
|||
$\
|
||||
,
|
||||
@
|
||||
\=@@@-@-----# atoi
|
||||
>
|
||||
,
|
||||
@
|
||||
\=@@@-@-----#
|
||||
<
|
||||
@ # 4 copies
|
||||
\=!/?!/->>+>>+>>+>>+<<<<<<<<?\#
|
||||
> | #\?<<<<<<<<+>>+>>+>>+>>-/
|
||||
@ |
|
||||
\==/
|
||||
\>>>>\
|
||||
/>>>>/
|
||||
@
|
||||
\==!/===?\# add
|
||||
< \>+<-/
|
||||
@
|
||||
\=@@@+@+++++# itoa
|
||||
.
|
||||
<
|
||||
@
|
||||
\==!/===?\# subtract
|
||||
< \>-<-/
|
||||
@
|
||||
\=@@@+@+++++#
|
||||
.
|
||||
!
|
||||
/\
|
||||
?- multiply
|
||||
\/ #/?<<+>+>-==\ /==-<+<+>>?\# /==-<<+>>?\#
|
||||
< \->+>+<<!/?/# #\?\!>>+<+<-/ #\?\!>>+<<-/
|
||||
@ /==|=========|=====\ /-\ |
|
||||
\======<?!/>@/<-?!\>>>@/<<<-?\=>!\?/>!/@/<#
|
||||
< \=======|==========/ /-\ |
|
||||
@ \done======>>>!\?/<=/
|
||||
\=@@@+@+++++#
|
||||
.
|
||||
!
|
||||
/\
|
||||
?- zero
|
||||
\/
|
||||
< divmod
|
||||
@ /-\
|
||||
\?\<!\?/#!===+<<<\ /-\
|
||||
| \<==@\>@\>>!/?!/=<?\>!\?/<<#
|
||||
| | | #\->->+</
|
||||
| \=!\=?!/->>+<<?\#
|
||||
@ #\?<<+>>-/
|
||||
\=@@@+@+++++#
|
||||
.
|
||||
<
|
||||
@
|
||||
\=@@@+@+++++#
|
||||
.
|
||||
#
|
||||
9
Task/Arithmetic-Integer/Scala/arithmetic-integer.scala
Normal file
9
Task/Arithmetic-Integer/Scala/arithmetic-integer.scala
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
val a = Console.readInt
|
||||
val b = Console.readInt
|
||||
|
||||
val sum = a + b;//integer addition is discouraged in print statements due to confusion with String concatenation
|
||||
println("a + b = " + sum);
|
||||
println("a - b = " + (a - b));
|
||||
println("a * b = " + (a * b));
|
||||
println("quotient of a / b = " + (a / b)); // truncates towards 0
|
||||
println("remainder of a / b = " + (a % b)); // same sign as first operand
|
||||
9
Task/Arithmetic-Integer/Scheme/arithmetic-integer.ss
Normal file
9
Task/Arithmetic-Integer/Scheme/arithmetic-integer.ss
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
(define (arithmetic x y)
|
||||
(for-each (lambda (op)
|
||||
(write (list op x y))
|
||||
(display " => ")
|
||||
(write ((eval op) x y))
|
||||
(newline))
|
||||
'(+ - * / quotient remainder modulo max min gcd lcm)))
|
||||
|
||||
(arithmetic 8 12)
|
||||
10
Task/Arithmetic-Integer/Smalltalk/arithmetic-integer.st
Normal file
10
Task/Arithmetic-Integer/Smalltalk/arithmetic-integer.st
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
| a b |
|
||||
'Input number a: ' display.
|
||||
a := (stdin nextLine) asInteger.
|
||||
'Input number b: ' display.
|
||||
b := (stdin nextLine) asInteger.
|
||||
('a+b=%1' % { a + b }) displayNl.
|
||||
('a-b=%1' % { a - b }) displayNl.
|
||||
('a*b=%1' % { a * b }) displayNl.
|
||||
('a/b=%1' % { a // b }) displayNl.
|
||||
('a%%b=%1' % { a \\ b }) displayNl.
|
||||
11
Task/Arithmetic-Integer/Tcl/arithmetic-integer-1.tcl
Normal file
11
Task/Arithmetic-Integer/Tcl/arithmetic-integer-1.tcl
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
puts "Please enter two numbers:"
|
||||
|
||||
set x [expr {int([gets stdin])}]; # Force integer interpretation
|
||||
set y [expr {int([gets stdin])}]; # Force integer interpretation
|
||||
|
||||
puts "$x + $y = [expr {$x + $y}]"
|
||||
puts "$x - $y = [expr {$x - $y}]"
|
||||
puts "$x * $y = [expr {$x * $y}]"
|
||||
puts "$x / $y = [expr {$x / $y}]"
|
||||
puts "$x mod $y = [expr {$x % $y}]"
|
||||
puts "$x 'to the' $y = [expr {$x ** $y}]"
|
||||
1
Task/Arithmetic-Integer/Tcl/arithmetic-integer-2.tcl
Normal file
1
Task/Arithmetic-Integer/Tcl/arithmetic-integer-2.tcl
Normal file
|
|
@ -0,0 +1 @@
|
|||
incr x $y
|
||||
Loading…
Add table
Add a link
Reference in a new issue