C++: Одинаковы ли цифры в числе

В некоторых задачах требуется определить, одинаковые ли цифры в числе или нет. Сделать это можно при помощи следующей функции:

bool isOnesNumber(int N)
{
	int d=0, dold =0;
	dold = N % 10;
	while (N != 0)
	{
		d = N % 10;
		if (d != dold)
		{
			return false;
		}
		N = N / 10;
		dold = d;
	}
	return true;
}


Идея: Каждая цифра в числе равна предыдущей, и если все равны тогда число состоит из одних и тех же цифр.

Тогда нужно сравнивать с предыдущей. У меня это dold. Сначала я вношу в него первое число, потом в цикле перебираю числа, если d не сошлось с dold, дальше можно не проверять, в числе встретилось «левое» число. Если все прошли, а условие не выполнилось, тогда число действительно состоит из одинаковых цифр :)

Добавить комментарий