main() { int bits[21], ndx, decimal=0, decimalSize=1, palindromeSum=0; int limit=1000000, binarySize=1, temp, decimalLimit=10; for(ndx=0;ndx<21;ndx++) { bits[ndx]=0; } while(limit--) { bits[0]++; decimal++; if(decimal==decimalLimit) { decimalSize++; decimalLimit*=10; } CarryOver(bits); binarySize = GetBinarySize(decimal); if(IsBinaryPalindrome(bits, binarySize) && IsDecimalPalindrome(decimal, decimalSize)) { printf("%d : ", decimal, decimalSize); for(temp=0;temp<binarySize;temp++) { printf("%d", bits[temp]); } printf("\n", binarySize); palindromeSum += decimal; } } printf("Sum of Palindromes of both bases: %d\n", palindromeSum); }
int main (int argc, char *argv[]) { int finalSum = 0; for (int i = 0; i < MAXIMUM_VALUE; i++) { if (IsDecimalPalindrome(i) && IsBinaryPalindrome(i)) finalSum += i; } std::cout << "The final sum is: " << finalSum << std::endl; }