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) 61 * 0.99 60.39
2) 14 - 241 -227
3) -197 - -52 -145
4) 85 + -5.05 79.95
5) 0.1 - 96 -95.9
6) 6864 + 5 6869
7) 28 + -67 -39
8) 3 + 0.01 3.01
9) 0.1 - -0.01 0.11
10) 5.8 + 0.007 5.807
11) 0.023 * 1 0.023
12) 421 + 0.9 421.9
13) 0.06 - -25 25.06
14) 9 + 1 10
15) -24 - -927.6 903.6
16) 9 + -95 -86
17) -8 - 470 -478
18) 91.9 * 0.08 7.352
19) -79 - -91.4 12.4
20) 2.9 - -9.2 12.1
21) 2 * 0.011 0.022
22) 2.8 * -34 -95.2
23) -7.82 - -5 -2.82
24) 7 + 6 13
25) 0.08 - 0.79 -0.71
26) 26 + 2.9 28.9
27) 71.92 + -0.07 71.85
28) -449 - 6 -455
29) 44 + 2 46
30) -9 - 0.24 -9.24
31) -13 + -7.6 -20.6
32) 9 * 0.8 7.2
33) -99 - 31 -130
34) 0.06 * 489 29.34
35) 4.17 + -0.6 3.57
36) 398 - -0.9 398.9
37) 8 + 0.495 8.495
38) 4 + 5487 5491
39) -322 + 2 -320
40) 0.89 - -63 63.89
41) -0.03 - 8 -8.03
42) -1 * -97.1 97.1
43) -869 - 4 -873
44) 84.47 + 0.03 84.5
45) -7 / 0.05 -140
46) -6035 * -1 6035
47) -7 + 5.9 -1.1
48) 7 * -0.05 -0.35
49) -23 - 64 -87
50) 55 + 0.52 55.52
51) 7.2 * 91 655.2
52) 22 + -6 16
53) 0.009 / 0.1 0.09
54) 1 + 44.6 45.6
55) -7.7 - 18.1 -25.8
56) 0.59 - 8.34 -7.75
57) 0.95 + 0.005 0.955
58) -6 - -0.06 -5.94
59) -1 + -6.97 -7.97
60) 9 - -0.328 9.328
61) 9 + -4 5
62) 518 - 583 -65
63) 78.69 - 5 73.69
64) -9 * 9 -81
65) 0.059 + 1 1.059
66) 61 + 6190 6251
67) 2 + 1.361 3.361
68) 2 - 0.65 1.35
69) 4 - 75.8 -71.8
70) 12 + 2226 2238
71) 649 + 1.5 650.5
72) -769 * -0.5 384.5
73) 0.01 - -0.3 0.31
74) 8 + 3 11
75) 0.955 - 0.44 0.515
76) 153 - -1 154
77) 9 - -40.13 49.13
78) 9 * 0.07 0.63
79) 0.9 * 107 96.3
80) 7 - 99 -92


Quick links:

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