На заданном промежутке чисел нужно посчитать количество чисел, которые делятся на каждую из своих цифр (на ноль делить нельзя). За количество таких чисел, которые делятся на каждую из своих цифр, отвечает переменная n. Вопрос: почему n всегда выводит 1?
Вот код программы:
#include <iostream>
using namespace std;
int main()
{
setlocale(LC_ALL, "rus");
int a, b, l, g, f = 1, s, n = 0;
cout << "Введите начало отрезка АВ:" << endl;
cin >> a;
s = a;
cout << "Введите конец отрезка АВ:" << endl;
cin >> b;
l = abs(b - a);
cout << "Длина отрезка АВ: " << l << endl;
for (int i = 0; i <= l; i++)
{
while(f == 1)
{
g = s % 10;
if ((g != 0) || (a % g == 0))
{
f = 1;
}
if((g == 0) || (a % g != 0))
{
f = 0;
}
s = s / 10;
if (s == 0)
{
n = n + 1;
f = 0;
}
}
a = a + 1;
a = s;
f = 1;
}
cout << n;
return 0;
}