Итак, у меня есть эта функция, которая проверяет, является ли число счастливым числом или нет. Он возвращает либо true, либо false.распечатка первых 888 счастливых чисел
bool is_happy(int x) //Let the function determine if the number is happy
{
int result;
while (x != 1) //If x == 1, it is a happy number
{
result = 0;
while (x) //Until every digit has been summed
{
result += (x % 10) * (x % 10); //Square digit and add it to total
x /= 10;
}
x = result;
if (x == 4) //if x is 4, its a sad number
return false;
}
return true;
}
он работает должным образом и возвращает true, когда X - счастливое число.
Что я пытаюсь сделать, это напечатать первые 888 счастливых чисел.
Я попытался установить петлю, пока тот целочисленный б, который увеличивает
int b=0;
while(b<=888) {
b++;
}
однако, я не уверен, как включать и приращение X, всякий раз, когда я пытаюсь и включать в себя и приращение х, он просто печатает первый счастливый номер 888 раз.
Моя проблема заключается в попытке увеличить x, и когда он достигает счастливого числа, он выводит это счастливое число, а затем увеличивает b. Я могу использовать только iostream и другие библиотеки.
EDIT: Извинения за недостаток ясности!
Я пытаюсь распечатать первые 888 счастливых чисел, у меня есть функция, которая проверяет, счастлив ли номер. Я пытаюсь создать цикл, который выводит первые 888 чисел, которые возвращают функцию True.
Большое спасибо!
показать вашу попытку ** в коде **. – LogicStuff