Project Euler:Problem 36 Double-base palindromes

The decimal number, 585 = 10010010012 (binary), is palindromic in both bases.

Find the sum of all numbers, less than one million, which are palindromic in base 10 and base 2.

(Please note that the palindromic number, in either base, may not include leading zeros.)

#include <iostream>
#include <string>
using namespace std;

string bin(int a)
{
	string res = "";
	while (a)
	{
		if (a % 2 == 1)
			res = '1' + res;
		else
			res = '0' + res;
		a /= 2;
	}
	return res;
}

bool pali_str(string  s)
{
	for (int i = 0; i < s.length() / 2; i++)
	{
		if (s[i] != s[s.length() - 1 - i])
			return false;
	}
	return true;
}

bool pali_int(int a)
{
	string s = "";
	while (a)
	{
		char c = a % 10 + '0';
		a /= 10;
		s = c + s;
	}
	if (pali_str(s))
		return true;
	else
		return false;
}

int main()
{
	int res = 0;
	for (int i = 1; i <= 1000000; i++)
	{
		if (pali_int(i) && pali_str(bin(i)))
			res += i;
	}
	cout << res << endl;
	system("pause");
	return 0;
}
时间: 2024-08-09 23:36:09

Project Euler:Problem 36 Double-base palindromes的相关文章

Project Euler:Problem 46 Goldbach&#39;s other conjecture

It was proposed by Christian Goldbach that every odd composite number can be written as the sum of a prime and twice a square. 9 = 7 + 2×12 15 = 7 + 2×22 21 = 3 + 2×32 25 = 7 + 2×32 27 = 19 + 2×22 33 = 31 + 2×12 It turns out that the conjecture was f

Project Euler:Problem 40 Champernowne&#39;s constant

An irrational decimal fraction is created by concatenating the positive integers: 0.123456789101112131415161718192021... It can be seen that the 12th digit of the fractional part is 1. If dn represents the nth digit of the fractional part, find the v

Project Euler:Problem 84 Monopoly odds

In the game, Monopoly, the standard board is set up in the following way: GO A1 CC1 A2 T1 R1 B1 CH1 B2 B3 JAIL H2   C1 T2   U1 H1   C2 CH3   C3 R4   R2 G3   D1 CC3   CC2 G2   D2 G1   D3 G2J F3 U2 F2 F1 R3 E3 E2 CH2 E1 FP A player starts on the GO squ

Project Euler:Problem 90 Cube digit pairs

Each of the six faces on a cube has a different digit (0 to 9) written on it; the same is done to a second cube. By placing the two cubes side-by-side in different positions we can form a variety of 2-digit numbers. For example, the square number 64

Project Euler:Problem 58 Spiral primes

Starting with 1 and spiralling anticlockwise in the following way, a square spiral with side length 7 is formed. 37 36 35 34 33 32 31 38 17 16 15 14 13 30 39 18  5  4  3 12 29 40 19  6  1  2 11 28 41 20  7  8  9 10 27 42 21 22 23 24 25 26 43 44 45 46

Project Euler:Problem 69 Totient maximum

Euler's Totient function, φ(n) [sometimes called the phi function], is used to determine the number of numbers less than n which are relatively prime to n. For example, as 1, 2, 4, 5, 7, and 8, are all less than nine and relatively prime to nine, φ(9

Project Euler:Problem 55 Lychrel numbers

If we take 47, reverse and add, 47 + 74 = 121, which is palindromic. Not all numbers produce palindromes so quickly. For example, 349 + 943 = 1292, 1292 + 2921 = 4213 4213 + 3124 = 7337 That is, 349 took three iterations to arrive at a palindrome. Al

Project Euler:Problem 70 Totient permutation

Euler's Totient function, φ(n) [sometimes called the phi function], is used to determine the number of positive numbers less than or equal to n which are relatively prime to n. For example, as 1, 2, 4, 5, 7, and 8, are all less than nine and relative

Project Euler:Problem 89 Roman numerals

For a number written in Roman numerals to be considered valid there are basic rules which must be followed. Even though the rules allow some numbers to be expressed in more than one way there is always a "best" way of writing a particular number