Math Test

Easy level

This level has a single operation per question and the terms are at most 4 digits (including decimals). All answers have 4 digits or less. This is (much) simpler than a real trading test. If you want you can also try this level as a test (posts to !) or set up a custom exercise.

Medium level

This level has a maximum of 4 operations per question and all terms are at most 5 digits including the decimal part. All answers have 5 digits or less. This is about the level of some trading tests. If you want you can also try this level as a test (posts to !) or set up a custom exercise.

Hard level

This level has a maximum of 6 operations per question and all terms are at most 6 digits including the decimal part. All answers have 5 digits or less. This is beyond the level of most trading tests. If you want you can also try this level as a test (posts to !) or set up a custom exercise.

250 ) { $_GET['questionCount'] = 80; } if( ! isset( $_GET['maxTermLength'] ) || ! is_numeric( $_GET['maxTermLength'] ) || $_GET['maxTermLength'] <= 0 || $_GET['maxTermLength'] > 20 ) { $_GET['maxTermLength'] = 6; } if( ! isset( $_GET['maxTermDecimalLength'] ) || ! is_numeric( $_GET['maxTermDecimalLength'] ) || $_GET['maxTermDecimalLength'] <= 0 || $_GET['maxTermDecimalLength'] > 20 ) { $_GET['maxTermDecimalLength'] = 3; } if( ! isset( $_GET['maxAnswerLength'] ) || ! is_numeric( $_GET['maxAnswerLength'] ) || $_GET['maxAnswerLength'] <= 0 || $_GET['maxAnswerLength'] > 20 ) { $_GET['maxAnswerLength'] = 4; } if( ! isset( $_GET['maxAnswerDecimalLength'] ) || ! is_numeric( $_GET['maxAnswerDecimalLength'] ) || $_GET['maxAnswerDecimalLength'] < 0 || $_GET['maxAnswerDecimalLength'] > 20 ) { $_GET['maxAnswerDecimalLength'] = 3; } if( ! isset( $_GET['minOperations'] ) || ! is_numeric( $_GET['minOperations'] ) || $_GET['minOperations'] <= 0 || $_GET['minOperations'] > 9 ) { $_GET['minOperations'] = 1; } if( ! isset( $_GET['maxOperations'] ) || ! is_numeric( $_GET['maxOperations'] ) || $_GET['maxOperations'] <= 0 || $_GET['maxOperations'] > 9 ) { $_GET['maxOperations'] = 4; } if( $_GET['minOperations'] > $_GET['maxOperations'] ) { $_GET['minOperations'] = 1; $_GET['maxOperations'] = 4; } if( ! isset( $_GET['mode'] ) || ( //$_GET['mode'] != 'exam' && $_GET['mode'] != 'test' && $_GET['mode'] != 'practice' ) ) { $_GET['mode'] = 'practice'; } if( ! isset( $_GET['useVariableInteger'] ) && ! isset( $_GET['useVariableDouble'] ) ) { $_GET['useVariableInteger'] = 'on'; $_GET['useVariableDouble'] = 'on'; } if( ! isset( $_GET['useOperatorAdd'] ) && ! isset( $_GET['useOperatorSubtract'] ) && ! isset( $_GET['useOperatorMultiply'] ) && ! isset( $_GET['useOperatorDivide'] ) ) { $_GET['useOperatorAdd'] = 'on'; $_GET['useOperatorSubtract'] = 'on'; $_GET['useOperatorMultiply'] = 'on'; $_GET['useOperatorDivide'] = 'on'; } // FIXME this prevent do..while deadlocks below but it's not nice if( ! isset( $_GET['useVariableInteger'] ) && isset( $_GET['useVariableDouble'] ) && ! isset( $_GET['useVariableFactor'] ) && ! isset( $_GET['useOperatorAdd'] ) && ! isset( $_GET['useOperatorSubtract'] ) && isset( $_GET['useOperatorMultiply'] ) && ! isset( $_GET['useOperatorDivide'] ) && ! isset( $_GET['optimizeSolvability'] ) ) { die( 'Impossible combination to guarantee easy exercises, disable optimizeSolvability if you really want this.' ); } // Show setup? if( isset( $_GET['showSetup'] ) ) { ?> Set up exercise

In practice mode the answers are selectable on the same page and no scoring will be done. In test mode you need to click a "Finished" button and your score will be calculated.

Term & answer sizes
(total # of digits, including fraction)
(# of digits after ., if variable is a double)
(total # of digits)
(# of digits after ., if used)

Operations

Variables
(This includes floats)

Operators

Optimizations
Limits complexity in some situations.
Guarantee operator changing & no arbitragable values.


Scoring

You get one point for every correct answer. Deduct one point for each error. If you skip a question or run out of time in a timed test, all following questions are not used in your score. Time yourself to 6 seconds per question. Generally you need to pass 55 out of 80 questions or ~70% of the maximum score, but higher is always better.

Manual

The answer to the test will be printed right next to it in the site's background color. You can use CTRL+A, Command+A or use the mouse to select all text on this page.

Questions
1) 8 - -0.147 8.147
2) 24 + 6.33 30.33
3) 92 - 70.1 21.9
4) -70 + 40.9 -29.1
5) 17 - 0.08 16.92
6) 0.005 + 3 3.005
7) 6 / 4 1.5
8) 6 * 367 2202
9) 9 - -1 10
10) -0.09 + 1.85 1.76
11) -0.5 - -92.2 91.7
12) -3 * 5.8 -17.4
13) 5.49 + 20.24 25.73
14) 1 * 48.1 48.1
15) 34 + 799 833
16) -6 + 0.74 -5.26
17) 826 - 14 812
18) 1.62 - 6 -4.38
19) 0.1 + -53 -52.9
20) 0.9 + 21.7 22.6
21) 5 + -1 4
22) -7070 / -28 252.5
23) 10 - 0.03 9.97
24) 1 + 0.06 1.06
25) 7 - -7978 7985
26) 758 - 180 578
27) 805 + 736 1541
28) 4886 + 5 4891
29) 13 + 2.5 15.5
30) 5 - 0.727 4.273
31) 674 + -30.1 643.9
32) 1 + 0.017 1.017
33) 731 - 812 -81
34) 5.6 * 0.25 1.4
35) -59 + 0.2 -58.8
36) 712 + -62.8 649.2
37) 63 * -8 -504
38) 57 * 1.07 60.99
39) 7.92 + 0.006 7.926
40) 9.7 - 1 8.7
41) 0.4 + 79 79.4
42) 340 + 27 367
43) 0.64 * 79 50.56
44) 277 - -838 1115
45) 8 - 41 -33
46) -6 * 4.4 -26.4
47) 94 - 1 93
48) 0.098 + 4.259 4.357
49) 8 - -0.004 8.004
50) 87.45 / 0.03 2915
51) -0.8 + -24.1 -24.9
52) 82 - 0.45 81.55
53) 61 + 1 62
54) 6 / 0.005 1200
55) 6 + 510 516
56) -74 * 4 -296
57) 1 * 50 50
58) 949 + -13.1 935.9
59) 74 + -73 1
60) 1.7 + 0.069 1.769
61) -0.01 * -5 0.05
62) 39.6 + 142.2 181.8
63) 6 * -18 -108
64) -0.02 / 0.01 -2
65) 7.7 * -2 -15.4
66) -3 - 0.4 -3.4
67) 0.422 * 1 0.422
68) 2.42 + -1.93 0.49
69) -0.5 * -2.72 1.36
70) -2 + 2 0
71) -0.28 * -935 261.8
72) 0.082 + 4 4.082
73) 2 + 96 98
74) -5 * -3.32 16.6
75) 9.1 + 2 11.1
76) -90 * -0.6 54
77) 76.5 + 8 84.5
78) -240 + 3312 3072
79) 54.4 + 7 61.4
80) 836.4 - 446 390.4


Quick links:

Practice: Easy | Medium | Hard
Test: Easy | Medium | Hard
Customized