CS153/hw6/hw4programs/sp22_tests/intpalindrome.oat
jmug ee01a8f5b2 Change hw6 to an unsolved version.
Signed-off-by: jmug <u.g.a.mariano@gmail.com>
2025-01-24 23:10:01 -08:00

58 lines
1 KiB
Text

int divide (int a, int b) {
if (b == 0) {
print_string("Impossible!");
return 0;
}
var result = 0;
while (a >= b) {
a = a - b;
result = result + 1;
}
return result;
}
int remainder (int a, int b) {
if (b == 0) {
print_string("Impossible!");
return 0;
}
while (a >= b) {
a = a - b;
}
return a;
}
bool isPalindrome (int input) {
var testInput = input;
var reversed = 0;
var remainder = 0;
while (testInput != 0) {
remainder = remainder(testInput, 10);
reversed = reversed * 10 + remainder;
testInput = divide(testInput, 10);
}
if (input == reversed) {
return true;
}
return false;
}
int program (int argc, string[] argv) {
var palindrome = 123454321;
var nonPalindrome = 5589260144;
var bool1 = isPalindrome(palindrome);
var bool2 = isPalindrome(nonPalindrome);
if (bool1 & !bool2) {
print_string("Correct!");
}
return 0;
}