Desafio de programação

Olá a todos, sou novo aqui e no mundo da programação. estudo a algumas semanas javascript mas tecnicamente só entendo as coisas, mas ainda não consigo fazer as coisas por mim mesmo.
Dia 30 soube de um processo seletivo para uma empresa que irá pagar aos selecionados um curso inteiro e no final irá empregar a pessoa.
Então, eu me empolguei com a ideia e me inscrevi, mesmo sabendo pouquissimo. concluí dois testes e agora veio os desafios de programação, e simplesmente não consigo resolver, embora consiga entender o que se pede.
Então deixarei os testes aqui embaixo para quem puder me ajudar a solucionar, mas principalmente, me explicar como fazer. Se não puder ajudar com o código, por favor, me diga pelo menos o que devo estudar em especifico agora para resolver eles. preciso entregar o resultado em 5 dias. Abaixo os desafios, e, novamente, obrigado desde já!

Desafio 01

Alguns números inteiros positivos n possuem uma propriedade na qual a soma de n + reverso(n) resultam em números ímpares. Por exemplo, 36 + 63 = 99 e 409 + 904 = 1313. Considere que n ou reverso(n) não podem começar com 0.

Existem 120 números reversíveis abaixo de 1000.

Construa um algoritmo que mostre na tela todos os números n onde a soma de n + reverso(n) resultem em números ímpares que estão abaixo de 1 milhão.

Desafio 02

Um professor de programação, frustrado com a falta de disciplina de seus alunos, decidi cancelar a aula se menos de x alunos estiverem presentes quando a aula for iniciada. O tempo de chegada varia entre:

  • Normal: tempoChegada <= 0
  • Atraso: tempoChegada > 0

Construa um algoritmo que dado o tempo de chegada de cada aluno e o limite x de alunos presentes, determina se a classe vai ser cancelada ou não ("Aula cancelada” ou “Aula normal”).

Exemplo:

Entrada de dados:
x = 3
tempoChegada = [-2, -1, 0, 1, 2]

Saída de dados:
Aula normal.

Explicação:
Os três primeiros alunos chegaram no horário. Os dois últimos estavam atrasados. O limite é de três alunos, portanto a aula não será cancelada.

Desafio 03

Dado um vetor de números e um número n. Determine a soma com o menor número de elementos entre os números do vetor mais próxima de n e também mostre os elementos que compõem a soma. Para criar a soma, utilize qualquer elemento do vetor uma ou mais vezes.

Exemplo:

Entrada de dados:

N = 10
V = [2, 3, 4]

Saída de dados:

10
[2, 4, 4]
[3, 3, 4]

Explicação:

Se N = 10 e V = [2, 3, 4] você pode utilizar as seguintes soma: [2, 2, 2, 2, 2], [2, 2, 3, 3], [2, 4, 4] ou [3, 3, 4]. Como a quantidade de elementos em [2, 4, 4] e [3, 3, 4] é igual, os dois conjuntos devem ser mostrados.

Pedir pra alguém resolver pra você é mal visto em fórums, então geralmente o pessoal vai te ignorar.

Por sorte sua, parece que tem algumas pessoas aplicando pro mesmo processo que você. Nos últimos dias vi pessoas com dúvidas em exercícios bem semelhantes aos que você passou.
Se der uma procurada com certeza vai achar dicas de como resolver esses problemas.

1 curtida

Então, agradeço pelo comentário. Mas também expliquei que quero entender a resolução do problema, não necessariamente que resolvam pra mim. Como você pode ter lido, pedi, se possível que me indicassem qual conteúdo devo procurar para aprender a resolver as questões. Mas agradeço novamente pela sua atenção

Isso pode levar anos ou pelo menos meses, primeiro aprenda a programar razoavelmente bem em alguma linguagem, e não fuja de livros, neles você já vai encontrar exercícios simples para exercitar sua lógica.

Se quiser resolver esse tipo de problema, existem sites e livros com exercícios como esses, classificados por nível de dificuldade, mas a maioria dos programadores provavelmente não conseguiria resolver o terceiro exercício.

E aprenda a usar o buscador do Google, principalmente a escolher as palavras relevantes para a sua busca, se soubesse isso teria encontrado a solução dos três problemas em alguns minutos.

Não procurei o primeiro e o segundo problema porque são muito simples, e o terceiro está classificado como hard.

1 curtida

Sim, de fato eu não estava sabendo como pesquisar no google, mas consegui encontrar algumas aulas e estou me virando. De fato eu tenho um pouco de noção de javascript e com isso to me virando, mas só agora que senti uma melhora. De qualquer forma, agradeço a ajuda e atençao de vocês. E outra, eu não quero que resolvam pra mim, quero entender como resolver