http://projecteuler.net/problem=36 [Answer:872187]

来源:互联网 发布:函数式编程书籍 编辑:程序博客网 时间:2024/06/16 22:36
 
#include <iostream>using namespace std;bool IsPalindromic( int number, int base ){    int digit[32];    size_t count = 0;    do    {        digit[count++] = number % base;        number /= base;    } while ( number != 0 );    for ( size_t i = 0; i < (count + 1) / 2; ++i )    {        if ( digit[i] != digit[count-1-i] )        {            return false;        }    }    return true;}int main(){    int sum = 0;    for ( int n = 1; n < 1000000; n += 2 )    {        if ( IsPalindromic( n, 10 ) && IsPalindromic( n, 2 ) )        {            sum += n;        }    }    cout << sum << endl;    return 0;}