예제 #1
0
파일: 36.c 프로젝트: idtirba/Euler-1-50
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);
}
예제 #2
0
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;
}