Факториал числа представить в виде целочисленного массива десятичных цифр - C (СИ)
Формулировка задачи:
На днях попалась интересная задачка, помогите пожалуйста решить, очень интересен вывод:
"А вот как осуществить вывод через массив?
Заранее спс.
Вычислить факториал числа N. Факториал числа представить в виде целочисленного массива десятичных цифр.
" Функция факториала у меня есть:int fact(int i)
{
int f = 1;
if(!i || i == 1)
return 1;
do
f *= i--;
while (i != 0);
return f;
}Решение задачи: «Факториал числа представить в виде целочисленного массива десятичных цифр»
textual
Листинг программы
int fact(int i)
{
int f = 1;
if(!i || i == 1)
return 1;
do
f *= i--;
while (i != 0);
return f;
}
void print(int f) {
char A[8];
int i = 0;
while(f) {
A[i] = f%10 + '0';
f = f/10;
i++;
}
i--;
while(i >= 0) {
printf("%c",A[i]);
i--;
}
printf("\n");
}
int main() {
..
a = fact(N);
print(a);
...
}
Объяснение кода листинга программы
В этом коде:
- В функции fact(i) вычисляется факториал числа i.
- В функции print(f) выводится факториал числа в виде строки десятичных цифр.
- В функции main() создается переменная N типа int, инициализированная некоторым значением (не показано в коде).
- Вызывается функция fact(N), результат сохраняется в переменной a типа int.
- Вызывается функция print(a), чтобы напечатать факториал числа N.
- Дополнительные действия, не показанные в коде, могут происходить после этого. Код использует два основных подхода:
- Для вычисления факториала числа используется простой алгоритм
умножение на i. - Для вывода факториала числа в виде строки десятичных цифр используется цикл while и операции деления и остатка от деления.