Как найти кол-во делителей последнего числа?

Сама задачка(знаю, элементарно, но мне все равно сложно);

Пользователь вводит две цифры. Выведите все двухзначные числа, содержащие хотя бы одну из введенных цифр. Выведите кол-во делителей последнего числа. Не использовать библиотеку cmath.


Ответы (2 шт):

Автор решения: SurfaceStack

Здраствуйте!

  1. Попробуйте в цикле каждое число от 10 до 99 переводить в строку и каждый символ сравнивать с каждой из введённых цифр (если они равны, то заносим в массив из 89 ячеек).
  2. Ищем первую пустую ячейку массива, получаем число из ячейки с номером, меньшим на 1. (Получаем последнее число)
  3. В цикле делим это число на числа от 1 до этого числа. Если остаток равен 0, то заносим это число в массив из 99 ячеек. (Получаем делители последнего числа)
  4. Считаем количество заполненных ячеек второго массива. (Количество делителей последнего числа)
→ Ссылка
Автор решения: Danis
#include<iostream>

using namespace std;

int main(int argc, char *argv[])
{
    int x, y;
    
    cin >> x;
    cin >> y;
    for (int i = 0; i < 10; i++){
        for (int j = 0; j < 10; j++){
            if (i == x or i == y or j == x or j == x){
                cout << i * 10 + j << endl;
            }
        }
    }
    int n = 90 + max(x, y);
    
    for (int i = 1; i < n; i++){
        if (n % i == 0){
            cout << i << endl;
        }
    }
} 
→ Ссылка