import java.util.Random;
class Thesis4 {
public static void main
(String[] args
) { // allocate objects only once
int totalRTIncorrect = 0;
int totalRTCorrect = 0;
int totalCorrect = 0;
int totalIncorrect = 0;
for (int j = 0; j < 10000; j++) {
int correct = 0;
int incorrect = 0;
int incorrect2 = 0;
int incorrect3 = 0;
int time = 0;
while (true) {
int pickedNumber = rand.nextInt(400);
// happens every time, no point to move into if
time++;
if (pickedNumber < 108) {
// [0..107] = 108 / 400
// no need to add up to 88, return at 87
if (correct >= 87) {
// no need to calculate after the while loop, can be done directly
totalRTCorrect += time;
totalCorrect++;
break;
}
// sum must not change +3-1-1-1 = 0
correct += 3;
incorrect--;
incorrect2--;
incorrect3--;
// else means there is no way the number can be
// between 0 and 107, no need to check
} else if (pickedNumber < 208) {
// [108..207] = 100 / 400
if (incorrect >= 87) {
totalRTIncorrect += time;
totalIncorrect++;
break;
}
correct--;
incorrect += 3;
incorrect2--;
incorrect3--;
} else if (pickedNumber < 309) {
// [208..308] = 101 / 400
if (incorrect2 >= 87) {
totalRTIncorrect += time;
totalIncorrect++;
break;
}
correct--;
incorrect--;
incorrect2 += 3;
incorrect3--;
} else {
// [309..399] = 91 / 400
if (incorrect3 >= 87) {
totalRTIncorrect += time;
totalIncorrect++;
break;
}
correct--;
incorrect--;
incorrect2--;
incorrect3 += 3;
}
}
}
System.
out.
printf("Total Correct Responses: %d \nTotal Incorrect Responses: %d",
totalCorrect, totalIncorrect);
System.
out.
printf("\nTotal Correct RT's: %d \nTotal Incorrect RT's: %d\n", totalRTCorrect,
totalRTIncorrect);
}
}
aW1wb3J0IGphdmEudXRpbC5SYW5kb207CgpjbGFzcyBUaGVzaXM0IHsKCiAgICBwdWJsaWMgc3RhdGljIHZvaWQgbWFpbihTdHJpbmdbXSBhcmdzKSB7CiAgICAgICAgLy8gYWxsb2NhdGUgb2JqZWN0cyBvbmx5IG9uY2UKICAgICAgICBSYW5kb20gcmFuZCA9IG5ldyBSYW5kb20oKTsKCiAgICAgICAgaW50IHRvdGFsUlRJbmNvcnJlY3QgPSAwOwogICAgICAgIGludCB0b3RhbFJUQ29ycmVjdCA9IDA7CiAgICAgICAgaW50IHRvdGFsQ29ycmVjdCA9IDA7CiAgICAgICAgaW50IHRvdGFsSW5jb3JyZWN0ID0gMDsKCiAgICAgICAgZm9yIChpbnQgaiA9IDA7IGogPCAxMDAwMDsgaisrKSB7CiAgICAgICAgICAgIGludCBjb3JyZWN0ID0gMDsKICAgICAgICAgICAgaW50IGluY29ycmVjdCA9IDA7CiAgICAgICAgICAgIGludCBpbmNvcnJlY3QyID0gMDsKICAgICAgICAgICAgaW50IGluY29ycmVjdDMgPSAwOwogICAgICAgICAgICBpbnQgdGltZSA9IDA7CgogICAgICAgICAgICB3aGlsZSAodHJ1ZSkgewogICAgICAgICAgICAgICAgaW50IHBpY2tlZE51bWJlciA9IHJhbmQubmV4dEludCg0MDApOwoKICAgICAgICAgICAgICAgIC8vIGhhcHBlbnMgZXZlcnkgdGltZSwgbm8gcG9pbnQgdG8gbW92ZSBpbnRvIGlmCiAgICAgICAgICAgICAgICB0aW1lKys7CgogICAgICAgICAgICAgICAgaWYgKHBpY2tlZE51bWJlciA8IDEwOCkgewogICAgICAgICAgICAgICAgICAgIC8vIFswLi4xMDddID0gMTA4IC8gNDAwCiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgLy8gbm8gbmVlZCB0byBhZGQgdXAgdG8gODgsIHJldHVybiBhdCA4NwogICAgICAgICAgICAgICAgICAgIGlmIChjb3JyZWN0ID49IDg3KSB7CiAgICAgICAgICAgICAgICAgICAgICAgIC8vIG5vIG5lZWQgdG8gY2FsY3VsYXRlIGFmdGVyIHRoZSB3aGlsZSBsb29wLCBjYW4gYmUgZG9uZSBkaXJlY3RseQogICAgICAgICAgICAgICAgICAgICAgICB0b3RhbFJUQ29ycmVjdCArPSB0aW1lOwogICAgICAgICAgICAgICAgICAgICAgICB0b3RhbENvcnJlY3QrKzsKICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIC8vIHN1bSBtdXN0IG5vdCBjaGFuZ2UgKzMtMS0xLTEgPSAwCiAgICAgICAgICAgICAgICAgICAgY29ycmVjdCArPSAzOwogICAgICAgICAgICAgICAgICAgIGluY29ycmVjdC0tOwogICAgICAgICAgICAgICAgICAgIGluY29ycmVjdDItLTsKICAgICAgICAgICAgICAgICAgICBpbmNvcnJlY3QzLS07CiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgLy8gZWxzZSBtZWFucyB0aGVyZSBpcyBubyB3YXkgdGhlIG51bWJlciBjYW4gYmUKICAgICAgICAgICAgICAgICAgICAvLyBiZXR3ZWVuIDAgYW5kIDEwNywgbm8gbmVlZCB0byBjaGVjawogICAgICAgICAgICAgICAgfSBlbHNlIGlmIChwaWNrZWROdW1iZXIgPCAyMDgpIHsKICAgICAgICAgICAgICAgICAgICAvLyBbMTA4Li4yMDddID0gMTAwIC8gNDAwCiAgICAgICAgICAgICAgICAgICAgaWYgKGluY29ycmVjdCA+PSA4NykgewogICAgICAgICAgICAgICAgICAgICAgICB0b3RhbFJUSW5jb3JyZWN0ICs9IHRpbWU7CiAgICAgICAgICAgICAgICAgICAgICAgIHRvdGFsSW5jb3JyZWN0Kys7CiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBjb3JyZWN0LS07CiAgICAgICAgICAgICAgICAgICAgaW5jb3JyZWN0ICs9IDM7CiAgICAgICAgICAgICAgICAgICAgaW5jb3JyZWN0Mi0tOwogICAgICAgICAgICAgICAgICAgIGluY29ycmVjdDMtLTsKCiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHBpY2tlZE51bWJlciA8IDMwOSkgewogICAgICAgICAgICAgICAgICAgIC8vIFsyMDguLjMwOF0gPSAxMDEgLyA0MDAKICAgICAgICAgICAgICAgICAgICBpZiAoaW5jb3JyZWN0MiA+PSA4NykgewogICAgICAgICAgICAgICAgICAgICAgICB0b3RhbFJUSW5jb3JyZWN0ICs9IHRpbWU7CiAgICAgICAgICAgICAgICAgICAgICAgIHRvdGFsSW5jb3JyZWN0Kys7CiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBjb3JyZWN0LS07CiAgICAgICAgICAgICAgICAgICAgaW5jb3JyZWN0LS07CiAgICAgICAgICAgICAgICAgICAgaW5jb3JyZWN0MiArPSAzOwogICAgICAgICAgICAgICAgICAgIGluY29ycmVjdDMtLTsKCiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIC8vIFszMDkuLjM5OV0gPSA5MSAvIDQwMAogICAgICAgICAgICAgICAgICAgIGlmIChpbmNvcnJlY3QzID49IDg3KSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRvdGFsUlRJbmNvcnJlY3QgKz0gdGltZTsKICAgICAgICAgICAgICAgICAgICAgICAgdG90YWxJbmNvcnJlY3QrKzsKICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIGNvcnJlY3QtLTsKICAgICAgICAgICAgICAgICAgICBpbmNvcnJlY3QtLTsKICAgICAgICAgICAgICAgICAgICBpbmNvcnJlY3QyLS07CiAgICAgICAgICAgICAgICAgICAgaW5jb3JyZWN0MyArPSAzOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIFN5c3RlbS5vdXQucHJpbnRmKCJUb3RhbCBDb3JyZWN0IFJlc3BvbnNlczogJWQgXG5Ub3RhbCBJbmNvcnJlY3QgUmVzcG9uc2VzOiAlZCIsCiAgICAgICAgICAgICAgICB0b3RhbENvcnJlY3QsIHRvdGFsSW5jb3JyZWN0KTsKICAgICAgICBTeXN0ZW0ub3V0LnByaW50ZigiXG5Ub3RhbCBDb3JyZWN0IFJUJ3M6ICVkIFxuVG90YWwgSW5jb3JyZWN0IFJUJ3M6ICVkXG4iLCB0b3RhbFJUQ29ycmVjdCwKICAgICAgICAgICAgICAgIHRvdGFsUlRJbmNvcnJlY3QpOwogICAgfQp9