Comentário por Anita Ramos
Divisão do Tesouro
Conhecimento prévio necessário:
Esse é um problema bem simples, que pode ser resolvido apenas com leitura, impressão e uma lógica. A lógica funcionará assim: contaremos o capitão como 2 outros marinheiros. Assim, dividiremos o total do tesouro
por
para descobrir quanto cada marinheiro ganhará e depois dobrar o valor para o capitão. Por exemplo, se pensarmos em
e
, temos o seguinte:
- Cada marinheiro deve receber

- O capitão deve receber

Perceba que o capitão conta como dois outros marinheiros. Se dividirmos
por
(capitão), teremos 1. Por fim, dobramos esse valor para o capitão, ficando com 1 para cada marinheiro e 2 para o capitão.
Na parte da programação então, depois de declarar as variáveis e ler toda a entrada, dividimos
por
e dobramos o valor (x2). Assim, o cálculo geral fica: 
Complexidade:
.
Segue o código comentado para melhor compreensão da solução:
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #include<bits/stdc++.h> //biblioteca utilizada | |
| using namespace std; | |
| int main() | |
| { | |
| int A,N; //declaração de variáveis | |
| scanf("%d", &A); //leitura do 'A' | |
| scanf("%d", &N); //leitura do 'N' | |
| printf("%d", 2*(A/(N+2))); //imprimi a resposta do cálculo de 2*(A/(N+2)) | |
| return 0; //retorna a 0 | |
| } |
