#c
#c
Вопрос:
Всякий раз, когда программа запускается, и я ввожу два числа (m и n), ничего не происходит, и я могу продолжать вводить числа.
int main()
{
vector<int> vec;
int m, n;
cin >> m;
cin >> n;
for (int i = m; i <= n; i )
{
int sumofnum;
int num = i;
while (num)
{
sumofnum = pow(num % 10, 3);
num / 10;
}
if (sumofnum == i)
{
vec.push_back(i);
}
}
for (int i = 0; i < vec.size(); i )
{
cout << vec.at(i) << " ";
}
Ответ №1:
while (num)
{
sumofnum = pow(num % 10, 3);
num / 10;
}
циклы навсегда, так как num
никогда не изменяется (a) (и предположительно не равен нулю). Вторая строка цикла должна быть:
num /= 10; // or "num = num / 10".
(a) Выражение num / 10
(как и выражение 42
) совершенно корректно для C в том смысле, что оно вычисляется, а затем выбрасывается.