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) 180 - 7 173
2) 25 * -0.158 -3.95
3) 8 * 5.03 40.24
4) 0.54 - 0.003 0.537
5) 0.096 - 0.002 0.094
6) -6 * 0.27 -1.62
7) 949 * 0.1 94.9
8) 1406 + 6437 7843
9) -3.17 + 0.04 -3.13
10) -583 - 5 -588
11) 899 + 8 907
12) 0.57 - 0.335 0.235
13) 4.1 + 4.63 8.73
14) 3 - -0.38 3.38
15) 0.056 + 8 8.056
16) 0.004 - -0.04 0.044
17) 1.48 - 0.005 1.475
18) 9 / -1.5 -6
19) 8.5 / -0.05 -170
20) 86 + -6 80
21) 8 + 18 26
22) -0.008 * -105 0.84
23) 4 * 1 4
24) 4 + 731 735
25) 2.45 + 14 16.45
26) 5 - -983 988
27) 9 * 0.42 3.78
28) 0.978 - 0.34 0.638
29) 3738 / 5 747.6
30) 2.99 - 0.009 2.981
31) 349 + 891 1240
32) 0.8 - -677 677.8
33) 0.9 - -7 7.9
34) 96 + -991 -895
35) 3670 - 3286 384
36) -28 * 6 -168
37) 37 - 9 28
38) -9.6 + 1 -8.6
39) 8 + 809 817
40) 69.77 - 0.92 68.85
41) 9 + 0.066 9.066
42) 0.3 - -0.002 0.302
43) 0.79 + -0.9 -0.11
44) -8 * 0.76 -6.08
45) 888 + 45 933
46) 154 * 3.7 569.8
47) 7 + 0.5 7.5
48) 4.08 - 3.18 0.9
49) -0.005 * 8 -0.04
50) -4 + -889 -893
51) 844 * -1 -844
52) 0.9 - -704 704.9
53) 168 / 2.8 60
54) 0.2 + 31 31.2
55) 1 + 0.079 1.079
56) 26 + 0.66 26.66
57) -0.4 + 0.1 -0.3
58) 7.8 * 21 163.8
59) 3.598 - 0.006 3.592
60) -12 + -2 -14
61) -4 - 64 -68
62) 1 * 5576 5576
63) 9 - -9 18
64) 4 + 2609 2613
65) 1250 + -647.6 602.4
66) 102 + -12.2 89.8
67) 2 + 0.61 2.61
68) 1.38 - 0.86 0.52
69) 0.1 - 0.64 -0.54
70) -855 + 5712 4857
71) -0.002 + 8.8 8.798
72) -2.04 / 2 -1.02
73) 8 * -4 -32
74) 0.4 - -79.9 80.3
75) -0.007 + 2 1.993
76) 11 * 2 22
77) -9.2 - -3 -6.2
78) 9 * -6 -54
79) 12.6 - 7 5.6
80) 0.036 * 7 0.252


Quick links:

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