Problem hidden
|This problem was hidden by Editorial Board member probably because it has incorrect language|version or invalid test data, or description of the problem is not clear.|

FATORIA2 - Fatorial

Dado um inteiro N, determine quanto vale N fatorial (escreve-se N!). O fatorial de um número é o produto de todos os números entre 1 e N, inclusive. Por exemplo, 5! = 5 × 4 × 3 × 2 × 1 = 120.

Entrada

A entrada é composta por uma única linha que contém o inteiro N.

Saída

A saída deve consistir de apenas uma linha contendo o valor de N!.

Restrições

  • 0 ≤ N ≤ 12

Exemplo

Entrada

2

Saída

2

Entrada

3

Saída

6

Adicionado por:Wanderley Guimarăes
Data:2009-01-26
Tempo limite:0.301s
Tamanho do fonte:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Linguagem permitida:Todas exceto: ASM64 CLOJURE ERL FSHARP JS-RHINO PERL6 PY_NBC SCALA TCL
Origem:Treino para OBI de 2006 - Fábio Moreira & Daniel Fleischman

hide comments
2019-08-11 17:36:01
Resolução em Java:
final Scanner s = new Scanner(System.in);
final int n = s.nextInt();
int fat = n;
if(n == 0){
fat = 1;
}
if(n > 0 && n <= 12){
for (int i = 1; i < n; i++){
fat *= n-i;
}
}
System.out.println(fat);
2019-04-09 01:45:27
Python:

def fatorial(num):
res = 1
for i in range(2, num+1):
res = res * i
return res
s = input()
n = int(s)
print(fatorial(n))


Last edit: 2019-04-09 01:46:15
2018-12-12 11:16:51
QUERO CAFÉ
2017-03-23 13:34:07
Pessoal que está com a saída errada e não sabe o porquê:

Lembrem-se que 0! = 1

Eu tinha me esquecido desse caso e estava indignado por não acertar os testes.
2015-12-17 17:41:45
pq esta errado
2015-03-28 16:55:41 Calvin
Fiz 2 resoluçőes:

1Ş: fat =1;
se N > 0:
fazer N .. 1
fat = fat*N;
fim fazer
fim se
mostrar fat;

2Ş fiz um vetor já com os fatoriais calculados para printar de acordo com N.

Para ambos os casos o resultado foi:
"erro em tempo de execuçăo (NZEC)"

Alguém tem alguma ideia do motivo disso? Compilando aqui todos eles funcionaram perfeitamente.
2014-04-24 22:48:07 Thiago Tibau
#include <stdio.h>

int main()
{
int num, total=1, cont;
printf("Digite um numero para calcular o fatorial: ");
scanf("%d", &num);

for (cont=num; num>1; num--)
{
total = total * (num);
}
printf("\nO Fatorial do numero digitado e = %d ", total);
return 0;
}
2014-03-24 20:43:28 Hitallo Guerra
Pedro seu algoritmo apresente falhas, uma delas esta em 1! :P
2014-03-16 17:28:23 Pedro
Caros,
Meu programa roda normal aqui no terminal, mas o SPOJ năo aceita. Alguém saberia explicar porquę? Agradeço.


#include <stdio.h>
#include <stdlib.h>

int main()
{
int cte, f, N;


scanf ("%d", &N);
f=N-1;
cte=N;

if (N>1)
{
while (f>0)
{

N=N*(cte-f);
f--;

}
}
else
{ printf("%d", N+1);
return (0);}

printf("%d", N);
return (0);
}
2013-12-30 16:59:27 Maranhão


Last edit: 2013-12-30 19:02:27
© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.