Как найти кол-во делителей последнего числа?
Сама задачка(знаю, элементарно, но мне все равно сложно);
Пользователь вводит две цифры. Выведите все двухзначные числа, содержащие хотя бы одну из введенных цифр. Выведите кол-во делителей последнего числа. Не использовать библиотеку cmath.
Ответы (2 шт):
Автор решения: SurfaceStack
→ Ссылка
Здраствуйте!
- Попробуйте в цикле каждое число от 10 до 99 переводить в строку и каждый символ сравнивать с каждой из введённых цифр (если они равны, то заносим в массив из 89 ячеек).
- Ищем первую пустую ячейку массива, получаем число из ячейки с номером, меньшим на 1. (Получаем последнее число)
- В цикле делим это число на числа от 1 до этого числа. Если остаток равен 0, то заносим это число в массив из 99 ячеек. (Получаем делители последнего числа)
- Считаем количество заполненных ячеек второго массива. (Количество делителей последнего числа)
Автор решения: 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;
}
}
}