Você está aqui: Java ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes) |
Como encontrar o número de subsequências de soma igual a k em Java - Programação Dinâmica em Java - Desafio de Programação Resolvido em JavaQuantidade de visualizações: 224 vezes |
Pergunta/Tarefa: O desafio de se encontrar o número de sub-arrays ou sub-vetores que contenham uma soma igual a um determinado número está presente em praticamente todas as listas de exercícios para a prática de programação dinâmica em Java. Este problema consiste em, dado um vetor v[], você deve retornar a quantidade de subsequências de soma igual a um determinado número k. Os sub-arrays incluídos na contagem devem ser contíguos, ou seja, os elementos da subsequência deverão estar consecutivos no vetor original. Então, dado o vetor [5, 1, 2, 4, 3, -1, 4], encontre a quantidade de subarrays cuja soma dos elementos seja igual a 6. Sua saída deverá ser parecida com: O vetor é: [5, 1, 2, 4, 3, -1, 4] Encontrei 4 subarrays com a soma indicada [5, 1] [2, 4] [4, 3, -1] [3, -1, 4] Resposta/Solução: Veja a resolução comentada deste exercício usando Java: Atenção: Existem muitos algoritmos refinados para uma solução mais eficiente deste problema. Aqui eu apresento a solução usando força-bruta. Essa é a forma mais ineficiente e que consome mais tempo e recursos da máquina. No entanto, esta é também a forma mais fácil de entender o algoritmo aplicado. ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package estudos; import java.util.Arrays; public class Estudos { public static void main(String[] args) { // vamos criar um array com 7 elementos int valores[] = {5, 1, 2, 4, 3, -1, 4}; System.out.println("O vetor é: " + Arrays.toString(valores)); // agora vamos encontrar a quantidade de subsequências // de elementos consecutivos com soma igual a 6 int quant_subarrays = quantSubarraysSoma(valores, 6); System.out.println("Encontrei " + quant_subarrays + " subarrays com a soma indicada"); } // este método Java recebe um array e um número K e retorna // a quantidade de subsequências do vetor que possuem soma // igual a K public static int quantSubarraysSoma(int[] vetor, int numero) { // primeiro obtemos a quantidade de elemetos no array int n = vetor.length; // ajustamos o contador para 0 int contador = 0; // um laço externo que percorre todos os elementos // do array, do primeiro até o último for (int i = 0; i < n; i++) { // para cada i nós percorremos a partir dele até o final // do vetor for (int j = i; j < n; j++) { // ajustamos a soma para zero int soma = 0; // percorremos o vetor a partir do índice i até // o índice j for (int k = i; k <= j; k++) { // e aumentamos a soma soma += vetor[k]; } // a soma é igual ao número recebido? if (soma == numero){ // aumentamos o contador contador = contador + 1; } } } // retornamos a contagem return contador; } } |
Link para compartilhar na Internet ou com seus amigos: |
C# ::: Dicas & Truques ::: Matemática e Estatística |
Como calcular porcentagem em C# - Como efetuar cálculos de porcentagem em C#Quantidade de visualizações: 33842 vezes |
Cálculos de porcentagens estão presentes em boa parte das aplicações que desenvolvemos. Porém, há momentos em que a mente trava e não conseguimos lembrar com clareza como estes cálculos são feitos, principalmente em C#. Esta anotação tem o objetivo de ser uma fonte de pesquisa para os momentos em que suas habilidades matemáticas insistirem em continuar ocultas. Ex: 1 - Suponhamos que um produto que custe R$ 178,00 sofra um acréscimo de 15%. Qual o valor final do produto? Veja o código em C#: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- // Algoritmo que calcula porcentagem em C# using System; namespace Estudos { class Principal { // função principal do programa C# static void Main(string[] args) { // variáveis usadas na resolução do problema double valor, percentual, valor_final; valor = 178.00; // valor original percentual = 15.0 / 100.0; // 15% valor_final = valor + (percentual * valor); // mostra o resultado Console.WriteLine("O valor final do produto é: " + valor_final); // O resultado será 204,70 Console.WriteLine("\n\nPressione uma tecla para sair..."); Console.ReadKey(); } } } Ex: 2 - Um produto, cujo valor original era de R$ 250,00, teve um desconto de 8%. Qual foi seu valor final? Veja o código em C#: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- // Algoritmo que calcula porcentagem em C# using System; namespace Estudos { class Principal { // função principal do programa C# static void Main(string[] args) { // variáveis usadas na resolução do problema double valor, percentual, valor_final; valor = 250.00; // valor original percentual = 8.0 / 100.0; // 8% valor_final = valor - (percentual * valor); // mostra o resultado Console.WriteLine("O valor final do produto é: " + valor_final); // O resultado será 230,00 Console.WriteLine("\n\nPressione uma tecla para sair..."); Console.ReadKey(); } } } Ex: 3 - Em um concurso de perguntas e respostas, um jovem acertou 72 das 90 perguntas apresentadas. Qual foi a porcentagem de acertos? E a porcentagem de erros? Veja o código em C#: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- // Algoritmo que calcula porcentagem em C# using System; namespace Estudos { class Principal { // função principal do programa C# static void Main(string[] args) { // variáveis usadas na resolução do problema double perguntas, acertos; perguntas = 90.0; acertos = 72.0; // mostra a porcentagem de acertos Console.WriteLine("Porcentagem de acertos: " + ((acertos / perguntas) * 100) + "%"); // mostra a porcentagem de erros Console.WriteLine(("Porcentagem de erros: ") + (((perguntas - acertos) / perguntas) * 100) + "%"); // Os resultados serão 80% e 20% Console.WriteLine("\n\nPressione uma tecla para sair..."); Console.ReadKey(); } } } Ex: 4 - Um aparelho de CD foi adquirido por R$ 300,00 e revendido por R$ 340,00. Qual foi a porcentagem de lucro na transação? Veja o código em C#: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- // Algoritmo que calcula porcentagem em C# using System; namespace Estudos { class Principal { // função principal do programa C# static void Main(string[] args) { // variáveis usadas na resolução do problema double valor_anterior, novo_valor, porcentagem_lucro; valor_anterior = 300.0; // valor anterior novo_valor = 340.0; // valor novo // calcula a porcentagem de lucro // efetua o cálculo porcentagem_lucro = ((novo_valor * 100) / valor_anterior) - 100; Console.WriteLine("A porcentagem de lucro foi de: " + porcentagem_lucro + "%"); // O resultado será 13,33 Console.WriteLine("\n\nPressione uma tecla para sair..."); Console.ReadKey(); } } } Ex: 5 - Uma loja repassa 5% do lucro a seus vendedores. Se um produto custa R$ 70,00, qual o valor em reais repassado a um determinado vendedor? Veja o código em C#: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- // Algoritmo que calcula porcentagem em C# using System; namespace Estudos { class Principal { // função principal do programa C# static void Main(string[] args) { // variáveis usadas na resolução do problema double valor, percentual, comissao; valor = 70.0; // valor do produto percentual = 5.0 / 100.0; // 5% // calcula a comissão comissao = percentual * valor; // mostra o resultado Console.WriteLine("O valor repassado ao vendedor é: " + comissao); // O resultado será 3,5 Console.WriteLine("\n\nPressione uma tecla para sair..."); Console.ReadKey(); } } } |
jQuery ::: Dicas & Truques ::: Manipulação e Conteúdo Dinâmico |
Como usar o método prependTo() do jQuery para adicionar todo o conteúdo de um elemento ao final de outro elemento HTMLQuantidade de visualizações: 7081 vezes |
O método prependTo() é usado quando queremos adicionar todo o conteúdo dos elementos retornados sob uma determinada condição no início de outro ou outros elementos HTML. Veja um trecho de código no qual adicionamos o conteúdo de um parágrafo no início de um elemento DIV: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- <script type="text/javascript"> <!-- function adicionarConteudo(){ var texto = "Mais uma linha.<br>"; $("#parag").prependTo("#div_1"); } //--> </script> O método prependTo() opera em todos os elementos HTML retornados sob uma determinação condição. O retorno do método é um objeto jQuery que pode ser usado para fins de encadeamento de chamadas de métodos. |
Ruby ::: Dicas & Truques ::: Strings e Caracteres |
Como testar se uma string termina com uma determinada substring em Ruby usando uma função ends_with() personalizadaQuantidade de visualizações: 6764 vezes |
O Ruby, até a versão 1.8.6 não dispõe de um método para verificar se uma string termina com uma determinada substring. Assim, veja abaixo como escrever uma função ends_with(). Esta função recebe a string e a substring e retorna true se a string terminar com a substring. Eis a listagem completa: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- # função auxiliar que permite verificar se # uma string termina com uma substring def ends_with(string, substring) pos = string.length - substring.length if string.index(substring, pos) == pos return true else return false end end # declara e inicializa uma variável string frase = "Gosto muito de Java, PHP e Ruby" # vamos verificar a string termina com "Ruby" if ends_with(frase, "Ruby") puts "A string termina com \"Ruby\"" else puts "A string NÃO termina com \"Ruby\"" end Ao executar este código Ruby nós teremos o seguinte resultado: A string termina com "Ruby" |
C++ ::: Desafios e Lista de Exercícios Resolvidos ::: Estruturas de Controle |
Exercício Resolvido de C++ - Como testar se um ano é bissexto em C++ - Um programa que lê um ano com quatro dígitos e informa se ele é bissexto ou nãoQuantidade de visualizações: 214 vezes |
Pergunta/Tarefa: Chama-se ano bissexto o ano ao qual é acrescentado um dia extra, ficando ele com 366 dias, um dia a mais do que os anos normais de 365 dias, ocorrendo a cada quatro anos (exceto anos múltiplos de 100 que não são múltiplos de 400). Isto é feito com o objetivo de manter o calendário anual ajustado com a translação da Terra e com os eventos sazonais relacionados às estações do ano. O último ano bissexto foi 2012 e o próximo será 2016. Um ano é bissexto se ele for divisível por 4 mas não por 100, ou se for divisível por 400. Escreva um programa C++ que pede ao usuário um ano com quatro dígitos e informa se ele é bissexto ou não. Sua saída deverá ser parecida com: Informe o ano: 2024 O ano informado é bissexto. Veja a resolução comentada deste exercício usando C++: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- #include <iostream> using namespace std; // função principal do programa int main(int argc, char *argv[]){ // variáveis usadas para resolver o problema int ano; // vamos solicitar que o usuário informe um ano cout << "Informe o ano: "; cin >> ano; // vamos verificar se o ano informado é bissexto if(((ano % 4 == 0) && (ano % 100 != 0)) || (ano % 400 == 0)){ cout << "O ano informado é bissexto."; } else{ cout << "O ano informado não é bissexto."; } cout << "\n" << endl; system("PAUSE"); // pausa o programa return EXIT_SUCCESS; } |
Python ::: Desafios e Lista de Exercícios Resolvidos ::: Laços |
Exercícios Resolvidos de Python - Como converter de binário para decimal em Python usando o laço forQuantidade de visualizações: 220 vezes |
Pergunta/Tarefa: Escreva um programa Python que usa o laço for para converter um número binário (como uma String) em sua representação decimal (como um int). Peça ao usuário para informar um número binário e mostre o mesmo em decimal (como um int). Sua solução deve obrigatoriamente usar o laço for. Sua saída deverá ser parecida com: Informe um número binário: 1100 A representação decimal do valor binário 1100 é 12 Veja a resolução comentada deste exercício usando Python: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- # vamos importar o módulo Math import math # função principal do programa def main(): # vamos ler o número binário (como uma String) binario = input("Informe um número binário: ") decimal = 0 # guarda a representação decimal # vamos percorrer todos os dígitos do número binário começando do início expoente = len(binario) - 1 for i in range(0, len(binario)): # converte o caractere atual para inteiro temp = int(binario[i]) decimal = decimal + (temp * int(math.pow(2, expoente))) # reduz o expoente expoente = expoente - 1 # mostramos o resultado print("A representação decimal do valor binário {0} é {1}".format( binario, decimal)) if __name__== "__main__": main() |
Mais Desafios de Programação e Exercícios e Algoritmos Resolvidos de Python |
Veja mais Dicas e truques de Python |
Dicas e truques de outras linguagens |
Códigos Fonte |
Software de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais |
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais |
Linguagens Mais Populares |
1º lugar: Java |