Проверить, равно ли x одному из чисел - C (СИ)
Формулировка задачи:
Даны натуральные числа x и N (x>N). Если x равно одному из чисел N!/1, N!/2, N!/3, ..., N!/N, то вывести на экране сообщение "Да", иначе - сообщение "Нет".
Решение задачи: «Проверить, равно ли x одному из чисел»
textual
Листинг программы
int main() {
int x, n,fn;
scanf("%d %d", &x, &n);
fn=factorial(n);
for ( int i = 1; i <= n; i++ )
if ( x == fn / i )
{
printf("Yes\n");
return 0;
}
printf("No\n");
return 0;
}
Объяснение кода листинга программы
- Объявлены три переменные: x, n, fn
- С помощью функции scanf в переменные x и n считываются два целых числа
- Вычисляется факториал числа n и результат сохраняется в переменной fn
- В цикле for перебираются все числа от 1 до n
- Внутри цикла проверяется, равно ли x одному из чисел n/i
- Если условие выполняется, то выводится сообщение
Yesи функция возвращает 0 - Если после цикла условие не выполнилось, то выводится сообщение
No - Функция возвращает 0