Выяснить, можно ли представить n в виде произведения трех последовательных натуральных чисел - C (СИ) (70989)
Формулировка задачи:
Дано натуральное число n. Выяснить, можно ли представить n в виде
произведения трех последовательных натуральных чисел
Решение задачи: «Выяснить, можно ли представить n в виде произведения трех последовательных натуральных чисел»
textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
int Check(int n)
{
int i;
for (i=1; i<n; i++) if (i*(i+1)*(i+2)==n) return i;
return 0;
}
int main(int argc, char *argv[])
{
int k,n;
printf("Enter number: ");
scanf("%d",&n);
k=Check(n);
if (k>0)
printf("%d = %d*%d*%d\n",n,k,k+1,k+2);
else
printf("can't...\n");
system("PAUSE");
return 0;
}
Объяснение кода листинга программы
- Подключение необходимых библиотек для работы с файлами и математическими операциями.
- Определение функции
Check, которая принимает целое числоnи проверяет, можно ли его представить в виде произведения трех последовательных натуральных чисел. Функция использует циклforдля перебора всех возможных значенийi. Если найдено соответствие, функция возвращаетi, иначе возвращает 0. - В функции
mainсчитывается числоnс помощью функцииscanf. - Вызывается функция
Checkс аргументомn. Результат сохраняется в переменнойk. - С помощью условного оператора
ifпроверяется значение переменнойk. Еслиkбольше 0, выводится сообщение, представляющее числоnв виде произведения трех последовательных натуральных чисел. В противном случае выводится сообщениеcan't.... - Вызов функции
system(PAUSE), которая приостанавливает выполнение программы до нажатия клавиши. - Возврат 0, означающий успешный конец работы программы.