Função fatorial de impressão em linguagem C [multiplicação de grandes números] + armazenamento em array

**

N é o parâmetro passado pelo usuário e seu valor não excede 1000. Se N for um número inteiro não negativo, a função deverá imprimir o valor de N! Em uma linha, caso contrário, imprimirá "Entrada inválida".

**

/*其中N是用户传入的参数,其值不超过1000。
如果N是非负整数,则该函数必须在一行中打印出N!的值,
否则打印“Invalid input”。*/ 
#include <stdio.h>

void Print_Factorial ( const int N );

int main()
{
    int N;
    scanf("%d", &N);
    Print_Factorial(N);
    return 0;
} 

/* 你的代码将被嵌在这里 */
void Print_Factorial ( const int N ){
	int copy_N=N,digit=0;//copy_N待处理的乘数,digit记录有多少位 
	int i,n_digit,w;//循环变量;数字的第几位 ;进位 
	int a[3000];//存储数组 
	while(copy_N){
		a[digit++] = copy_N%10;
		copy_N /= 10;
	}//将第一个乘数N存入数组,同时获得数组已存储位数 
	for( i=N-1; i>1; i--){
		w = 0; 
		for(n_digit=0; n_digit<digit; n_digit++){
			 a[n_digit] *= i;
			 a[n_digit] += w;//该位数字乘新的乘数,再加上进位w 
			 w = a[n_digit]/10;//进位 
			 a[n_digit] %= 10;//进位之后的更新值			 
		} //新的乘数对之前的乘积从0开始每一位相乘,一次循环更新一位数 
		while(w){
			a[digit++] = w%10;
			w /= 10;			
		}//将此次乘数与每位数字相乘的总进位填充到数组空位,同时digit加1 
	} //从N-1到2依次做乘法 ,一次循环乘一个数 
	for( i=digit-1; i>=0; i--){
		printf("%d",a[i]);
	} //按照高位依次输出存储数组 
	putchar('\n');
	
}

—————————————————————————

Esta questão requer uma função para imprimir o fatorial de um número inteiro não negativo.

Definição da interface da função
void Print_Factorial ( const int N );

N é o parâmetro passado pelo usuário e seu valor não excede 1000. Se N for um número inteiro não negativo, a função deverá imprimir o valor de N! Em uma linha, caso contrário, imprimirá "Entrada inválida".

Exemplo de procedimento de teste do árbitro:
#include <stdio.h>

void Print_Factorial ( const int N );

int main()
{
    int N;
	
    scanf("%d", &N);
    Print_Factorial(N);
    return 0;
}

/* 你的代码将被嵌在这里 */

-----------------------------------
entrada de amostra:
15

Exemplo de saída:
1307674368000
———————————————————————————————

Publicado 8 artigos originais · Gosto1 · Visitantes 179

Acho que você gosta

Origin blog.csdn.net/weixin_43503632/article/details/105106432
Recomendado
Clasificación