Pesquisar este blog

Livros Recomendados

quinta-feira, 9 de abril de 2020

URI (BEECROWD) - 1161 - Soma de Fatoriais - Matemática - C++

Plataforma: URI - BEECROWD
Problema1161

Enunciado:
Leia dois valores inteiros M e N indefinidamente. A cada leitura, calcule e escreva a soma dos fatoriais de cada um dos valores lidos. Utilize uma variável apropriada, pois cálculo pode resultar em um valor com mais de 15 dígitos.

Linguagem: C++

Solução:
Foi feito um vetor vet (long long por causa do tamanho do fatorial) em que foi colocado o valor do fatorial na respectiva posição. Conforme m e n foram lidos, foi verificado se já foi calculado o valor do fatorial para aquele número. Caso não tenha sido calculado, ele será calculado até chegar naquela posição. Então, vet será acessado nas posições m e n, e então seus fatoriais serão somados.


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
using namespace std;

int main(){
 int m,n;
 long long vet[21];
 long long sum;
 vet[0] = 1;
 vet[1] = 1; 
 int computed = 1;
 while(cin >> m >> n){
  while(m > computed or n > computed){
   vet[computed+1] = vet[computed]*(computed+1);
   computed++;
  }
  sum = vet[m] + vet[n];
  cout << sum << endl;
 }
    return 0;
}

Nenhum comentário:

Postar um comentário

Postagem em destaque

URI (BEECROWD) - 2158 - Helping Uncle Cláudio (Ajudando o Tio Cláudio) - Matemática - C, C++ e Haskell

Buenas! Estou aqui mais uma vez para resolver um problema de Matemática! Agora tenho resolvido alguns dessa categoria, pra que vocês possam ...

Postagens mais visitadas