Example #1
0
std::tuple<const unsigned long long int,int,int> DigitalRoot(const unsigned long long int digits, const int BASE = 10) {
    int x = SumDigits(digits,BASE);
    int ap = 1;
    while (x >= BASE) {
        x = SumDigits(x,BASE);
        ap++;
    }
    return std::make_tuple(digits,ap,x);
}
Example #2
0
int main(int argc, char* argv[])
{
	setlocale(LC_ALL, "Russian");
	int upLimit = 1000;
	int i;
	int sumDig = 0;
	if (argc > 1)
	{
		bool err;
		upLimit = StringToInt(argv[1], err);
		if ((err) || (upLimit <= 1))
		{
			printf("¬едены не корректыные параметры\n");
			return 1;
		}
	}
	for (i = 1; i <= upLimit; i++)
	{
		sumDig = SumDigits(i);
		if (sumDig == 0)
		{
			continue;
		}
		if (i%sumDig == 0)
		{
			printf("%d ", i);
		}
	}
	printf("\n");
	system("PAUSE");
	return 0;
}
Example #3
0
void PrintSpecialNumbers(int upperBound)
{
    for (int i = LOWER_BOUND; i <= upperBound; i++)
    {
        if (i % SumDigits(i) == 0)
        {
            printf("%4d ", i);
        }
    }
    printf("\n");
}
Example #4
0
int main ()
{
	const int UPPER_BOUND = 1280;
	for (int number = 1; number <= UPPER_BOUND; number++)
	{
		if (number % SumDigits (number) == 0)
		{
			if (number != UPPER_BOUND && number > 1)
			{
				printf ("; ");
			}
			printf ("%d", number);
		}
	}
	printf (".\n\r");
	return 0;
}
Example #5
0
File: main.cpp Project: CCJY/coliru
char* SumCharsAndDigits(const char* str)
{
	int sum = 0;
	char* sum_str = (char*)malloc(2 * sizeof(char));
	char c;
	int digits_sum;

	/* Check allocation succeeded */
	assert(sum_str != NULL);

	/* The sum's string is 1 character long. Mark its end. */
	sum_str[1] = '\0';

	while (*str != '\0') {
		c = *str;
		if (c >= 'a' && c <= 'z') {
			sum += c - 'a' + 1;
		} else if (c >= 'A' && c <= 'Z') {
			sum += c - 'A' + 1;
		} else if (c >= '0' && c <= '9') {
			sum += c - '0';
		}
		str++;
	}

	/* Add the sum's digits together */
	digits_sum = sum;
	do {
		digits_sum = SumDigits(digits_sum);
	} while (digits_sum >= 10);

	/* Return the sum's string representation */
	sum_str[0] = digits_sum + '0';

	return sum_str;
}