Você está aqui: C++ ::: Desafios e Lista de Exercícios Resolvidos ::: Laços |
Como testar se dois números são números amigos em C++ - Escreva um programa C++ que - Desafio de Programação Resolvido em C++Quantidade de visualizações: 222 vezes |
Pergunta/Tarefa: Dois números inteiros positivos A e B são considerados números amigos se a soma dos divisores próprios de A for igual a B e a soma dos divisores próprios de B for igual a A. Divisores próprios de um número positivo N são todos os divisores inteiros positivos de N exceto o próprio N. Por exemplo, os divisores próprios de 6 são: 1, 2 e 3. Como exemplo de números amigos podemos citar 220 e 284. Os divisores próprios de 220 são 1, 2, 4, 5, 10, 11, 20, 22, 44, 55 e 110, resultando na soma 284. O número 284, por sua vez, possui os divisores próprios 1, 2, 4, 71 e 142, resultando na soma 220. Dessa forma, 220 e 284 são números amigos. Escreva um programa C++ que leia dois números inteiros positivos e informe se eles são números amigos ou não. Sua saída deve ser parecida com: Informe o primeiro número: 220 Informe o segundo número: 284 Os dois números são amigos Informe o primeiro número: 158 Informe o segundo número: 932 Os números não são amigos. Informe o primeiro número: 1210 Informe o segundo número: 1184 Os dois números são amigos 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 na resolução do problema int n1, n2, soma = 0; // vamos ler os dois números cout << "Informe o primeiro número: "; cin >> n1; cout << "Informe o segundo número: "; cin >> n2; // vamos somar todos os divisores próprios do // primeiro número for(int i = 1; i < n1; i++){ if(n1 % i == 0){ soma = soma + i; } } // se essa soma for igual ao valor de n2 nós já temos a // primeira condição if(soma == n2){ // zera a soma soma = 0; for(int i = 1; i < n2; i++){ if(n2 % i == 0){ soma = soma + i; } } // esta soma é igual ao valor de n1? if(soma == n1){ cout << "Os dois números são amigos."; } else{ cout << "Os números não são amigos."; } } else{ cout << "Os números não são amigos."; } cout << "\n" << endl; system("PAUSE"); // pausa o programa return EXIT_SUCCESS; } Os números amigos eram conhecidos pelos Pitagóricos, que acreditavam que eles possuíam propriedades místicas. |
Link para compartilhar na Internet ou com seus amigos: |
VB.NET ::: Dicas & Truques ::: Strings e Caracteres |
Como contar as ocorrências de um caractere em uma string em VB.NET usando o método IndexOf()Quantidade de visualizações: 12413 vezes |
Nesta dica mostrarei como podemos usar o método IndexOf() da classe String do VB.NET e o laço While para contar quantas vezes um determinado caractere ocorre em uma palavra, frase ou string. Veja o código completo para o exemplo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- Imports System Module Program Sub Main(args As String()) Dim frase As String = "Gosto muito de VB.NET e você?" Dim letra As Char = "o" Dim quant As Integer = 0 Dim pos As Integer = -1, pos_ant As Integer = -1 Dim cont As Integer = 0 ' mostra a frase Console.WriteLine("A frase é: " & frase) While cont < frase.Length pos = frase.IndexOf(letra, cont) If pos <> pos_ant And pos <> -1 Then Console.WriteLine("""" & letra & """ encontrada na posição " & pos) quant += 1 End If cont += 1 pos_ant = pos End While ' mostra a quantidade de ocorrências da letra "o" Console.WriteLine("Encontrei " & quant & " ocorrências da " _ & "letra " & letra) Console.WriteLine(vbCrLf & "Pressione qualquer tecla para sair...") ' pausa o programa Console.ReadKey() End Sub End Module Ao executar este código VB.NET nós teremos o seguinte resultado: A frase é: Gosto muito de VB.NET e você? "o" encontrada na posição 1 "o" encontrada na posição 4 "o" encontrada na posição 10 "o" encontrada na posição 25 Encontrei 4 ocorrências da letra o |
C ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Como ordenar os elementos de um vetor C usando a ordenação da bolha (Bubble Sort)Quantidade de visualizações: 25917 vezes |
O método ou algorítmo de ordenação da bolha é uma das técnicas mais simples de ordenação. No entanto, este método não é eficiente, visto que o tempo despendido para sua execução é muito elevado se comparado à outros métodos existentes. Geralmente usamos este método quando queremos ordenar 50 elementos ou menos. O entendimento deste método é fácil. Se estivermos ordenados os valores do menor para o maior, o método da bolha percorre os elementos da matriz, comparando e movendo o menor valor para a primeira posição da matriz, tal qual bolhas indo para a superfície. Veja um exemplo completo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- #include <stdio.h> #include <stdlib.h> void bubble_sort(int matriz[], int tam){ int temp, i, j; for(i = 0; i < tam; i++){ for(j = 0; j < tam; j++){ if(matriz[i] < matriz[j]){ temp = matriz[i]; matriz[i] = matriz[j]; matriz[j] = temp; } } } } int main(int argc, char *argv[]) { int valores[] = {4, 6, 2, 8, 1, 9, 3, 0, 11}; int i, tamanho = 9; // imprime a matriz sem a ordenação for(i = 0; i < 9; i++){ printf("%d ", valores[i]); } // vamos ordenar a matriz bubble_sort(valores, tamanho); // imprime a matriz ordenada puts("\n"); for(i = 0; i < 9; i++){ printf("%d ", valores[i]); } puts("\n"); system("pause"); return 0; } |
PHP ::: Dicas & Truques ::: Strings e Caracteres |
Como acessar os caracteres de uma string individualmente em PHP usando índicesQuantidade de visualizações: 8797 vezes |
Em algumas situações nós gostaríamos de acessar os caracteres individuais de uma palavra, frase ou texto em PHP. Isso pode ser feito por meio da notação de índices, ou seja, usando []. Veja um exemplo abaixo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- <?php $nome = "Carlos de Jesus"; echo "O primeiro caractere é " . $nome[0]; ?> Ao executar este código PHP nós teremos o seguinte resultado: O primeiro caractere é C |
Ruby ::: Dicas & Truques ::: Strings e Caracteres |
Como contar as ocorrências de uma substring em uma string em Ruby usando a função scan()Quantidade de visualizações: 8125 vezes |
Podemos obter a quantidade de vezes em que uma substring aparece em uma string Ruby usando o método scan() da classe String. Este método nos permite executar um bloco de código a cada vez que a substring fornecida a ele for encontrada. Veja o exemplo:---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- # declara e inicializa uma variável string frase = "Ruby? Gosto muito de Ruby" puts "A frase é: " + frase # vamos obter a quantidade de vezes em que a # substring "Ruby" aparece na frase quant = 0 substring = "Ruby" frase.scan(substring){quant = quant + 1} # exibe o resultado puts "A substring \"Ruby\" aparece " + quant.to_s \ + " vezes" Ao executarmos este código Ruby nós teremos o seguinte resultado: A frase é: Ruby? Gosto muito de Ruby A substring "Ruby" aparece 2 vezes |
Java ::: Fundamentos da Linguagem ::: Passos Iniciais |
Aprenda a ler entrada do usuário usando a classe Scanner do Java - Como ler a entrada do usuário em Java usando um objeto da classe ScannerQuantidade de visualizações: 49950 vezes |
Podemos ler entrada do usuário em aplicações Java console usando a classe Scanner do JDK 5.0 e recentes. Esta classe está no pacote java.util. Para ler strings use o método nextLine(), para ler inteiros use nextInt() e assim por diante. Não é um boa idéia misturar nextLine() com nextInt(), nextFloat(), etc. Em caso de comportamento estranho, é melhor ler tudo usando nextLine() e fazer conversões usando Integer.parseInt(), por exemplo. Veja um código completo demonstrando o uso dessa classe: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package arquivodecodigos; import java.util.*; public class Estudos{ public static void main(String[] args){ Scanner in = new Scanner(System.in); System.out.print("Qual é o seu nome? "); String nome = in.nextLine(); System.out.print("Qual sua idade? "); int idade = in.nextInt(); System.out.println("Olá, " + nome + ". Você tem " + idade + " anos."); } } Ao executar este código nós teremos o seguinte resultado: Qual é o seu nome? Osmar J. Silva Qual sua idade? 39 Olá, Osmar J. Silva. Você tem 39 anos. |
Desafios, Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
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 |