#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
int main() {
srand(time(0));
while (true) {
int a = rand() % 10 + 1;
int b = rand() % 10 + 1;
char operation;
if (rand() % 2 == 0) {
operation = '+';
} else {
operation = '-';
}
// Make sure subtraction does not give a negative answer
if (operation == '-' && a < b) {
swap(a, b);
}
int correctAnswer;
if (operation == '+') {
correctAnswer = a + b;
} else {
correctAnswer = a - b;
}
int answer;
cout << a << " " << operation << " " << b << " = ";
cin >> answer;
if (answer == correctAnswer) {
cout << "Correct! Great job! 😊" << endl;
cout << endl;
} else {
cout << "Wrong answer! Game Over. ❌" << endl;
cout << "The correct answer was: " << correctAnswer << endl;
break;
}
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y3N0ZGxpYj4KI2luY2x1ZGUgPGN0aW1lPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCBtYWluKCkgewogICAgc3JhbmQodGltZSgwKSk7CgogICAgd2hpbGUgKHRydWUpIHsKICAgICAgICBpbnQgYSA9IHJhbmQoKSAlIDEwICsgMTsKICAgICAgICBpbnQgYiA9IHJhbmQoKSAlIDEwICsgMTsKCiAgICAgICAgY2hhciBvcGVyYXRpb247CgogICAgICAgIGlmIChyYW5kKCkgJSAyID09IDApIHsKICAgICAgICAgICAgb3BlcmF0aW9uID0gJysnOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIG9wZXJhdGlvbiA9ICctJzsKICAgICAgICB9CgogICAgICAgIC8vIE1ha2Ugc3VyZSBzdWJ0cmFjdGlvbiBkb2VzIG5vdCBnaXZlIGEgbmVnYXRpdmUgYW5zd2VyCiAgICAgICAgaWYgKG9wZXJhdGlvbiA9PSAnLScgJiYgYSA8IGIpIHsKICAgICAgICAgICAgc3dhcChhLCBiKTsKICAgICAgICB9CgogICAgICAgIGludCBjb3JyZWN0QW5zd2VyOwoKICAgICAgICBpZiAob3BlcmF0aW9uID09ICcrJykgewogICAgICAgICAgICBjb3JyZWN0QW5zd2VyID0gYSArIGI7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgY29ycmVjdEFuc3dlciA9IGEgLSBiOwogICAgICAgIH0KCiAgICAgICAgaW50IGFuc3dlcjsKCiAgICAgICAgY291dCA8PCBhIDw8ICIgIiA8PCBvcGVyYXRpb24gPDwgIiAiIDw8IGIgPDwgIiA9ICI7CiAgICAgICAgY2luID4+IGFuc3dlcjsKCiAgICAgICAgaWYgKGFuc3dlciA9PSBjb3JyZWN0QW5zd2VyKSB7CiAgICAgICAgICAgIGNvdXQgPDwgIkNvcnJlY3QhIEdyZWF0IGpvYiEg8J+YiiIgPDwgZW5kbDsKICAgICAgICAgICAgY291dCA8PCBlbmRsOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGNvdXQgPDwgIldyb25nIGFuc3dlciEgR2FtZSBPdmVyLiDinYwiIDw8IGVuZGw7CiAgICAgICAgICAgIGNvdXQgPDwgIlRoZSBjb3JyZWN0IGFuc3dlciB3YXM6ICIgPDwgY29ycmVjdEFuc3dlciA8PCBlbmRsOwogICAgICAgICAgICBicmVhazsKICAgICAgICB9CiAgICB9CgogICAgcmV0dXJuIDA7Cn0=