terça-feira, 22 de julho de 2014

Lista de exercícios de estruturas de repetições - 34 - Faça um algoritmo que calcule o mínimo multiplicador comum entre dois números inteiros positivos a serem lidos.

//Questao34
Faça um algoritmo que calcule o mínimo multiplicador comum entre dois números inteiros positivos a serem lidos.


import java.util.Scanner;


public class Questao34 {


public static void main(String[] args) {
Scanner leia = new Scanner(System.in);

int n1, n2, soma, aux;

System.out.println("Digite o primeiro numero");
n1 = leia.nextInt();

System.out.println("Digite o segundo numero");
n2 = leia.nextInt();

if ( n1 < n2 ) {
aux = n1;
n1 = n2;
n2 = aux;
}

soma = n1;

while ( soma % n2 != 0 ) {
soma += n1;
}

System.out.println( "MMC " + soma);
}

}

Lista de exercícios de estruturas de repetições - 33 - Faça um algoritmo que calcule o máximo divisor comum (MDC) entre dois números inteiros positivos a serem lidos.

//Questao33
Faça um algoritmo que calcule o máximo divisor comum (MDC) entre dois números inteiros positivos a serem lidos.

import java.util.Scanner;


public class Questao33 {


public static void main(String[] args) {
Scanner leia = new Scanner(System.in);

int n1, n2, resto, aux;

System.out.println("Digite o primeiro numero");
n1 = leia.nextInt();

System.out.println("Digite o segundo numero");
n2 = leia.nextInt();

if ( n1 < n2 ) {
aux = n1;
n1 = n2;
n2 = aux;
}

resto = n1 % n2;

while ( resto != 0 ) {
n1 = n2;
n2 = resto;
resto = n1 % n2;
}

System.out.println( "MDC " + n2);
}


}

Lista de exercícios de estruturas de repetições - 32 - Faça um algoritmo que entre com um número e verifique se ele é triangular. Um número é triangular quando o resultado do produto de três números consecutivos. Exemplo 24 = 2 * 3 * 4.

//Questao32
Faça um algoritmo que entre com um número e verifique se ele é triangular. Um número é triangular quando o resultado do produto de três números consecutivos.
Exemplo 24 = 2 * 3 * 4.

import java.util.Scanner;


public class Questao32 {

public static void main(String[] args) {
Scanner leia = new Scanner(System.in);

int n, a, b, c, t = 0, i = 0;
boolean isTriangular = true;

String msg = "Digite um numero inteiro positivo";
System.out.println( msg );
n = leia.nextInt();

while ( t < n ) {
a = i + 1;
b = i + 2;
c = i + 3;

t = ((a * b) * c);

if ( t == n ) {
isTriangular = true;
} else {
isTriangular = false;
break; /// se nao for já forço a parada do laço! não necessito continuar!
}
i++;
}

System.out.println("o numero "
+ n + 
( isTriangular ? " e " : " nao e ") + "triangular" );

}

}

Lista de exercícios de estruturas de repetições - 31 - Faça um algoritmo para entrar vários números e verificar se eles são quadrados perfeitos. O algoritmo deve terminar quando se digitar um número menor ou igual a 0. E verificar quantos desses números eram primos.

//Questao31
Faça um algoritmo para entrar vários números e verificar se eles são quadrados perfeitos. O algoritmo deve terminar quando se digitar um número menor ou igual a 0. E verificar quantos desses números eram primos.

import java.util.Scanner;

public class Questao31 {


public static void main(String[] args) {
Scanner leia = new Scanner(System.in);

boolean isPrimo = true;
int n, p, i, primos = 0, c = 2;

String msg = "Digite um numero inteiro positivo";
System.out.println( msg );
n = leia.nextInt();

while ( n > 0 ) {

i = 1;
p = i * i;

while ( p < n ) {
i++;
p = i * i;
}

if ( p == n ) {
System.out.println("o numero " + n + " e qp");
} else {
System.out.println("o numero " + n + " nao e qp");
}

isPrimo = true;

while ( c < n && isPrimo ) {
if ( n % c == 0 ) {
isPrimo = false;
}
c++;
}

if ( isPrimo ) {
primos++;
}

//mudança na bandeira
System.out.println( msg );
n = leia.nextInt();
}

System.out.println("O numero de primos digitados " + primos);
}

}

Lista de exercícios de estruturas de repetições - 30 - Faça um algoritmo para entrar com um número e verificar se ele é um número primo.

//Questao30
Faça um algoritmo para entrar com um número e verificar se ele é um número primo.


import java.util.Scanner;


public class Questao30 {


    public static void main(String[] args) {
    Scanner leia = new Scanner(System.in);
   
    boolean isPrimo = true;

    System.out.println("Digite um numero");
        int n = leia.nextInt();
        
        //o primeiro numero primo é 2
        int cont = 2;
        
        //algumas linguagens nao oferencem break (mecanismo para parar o laço)
        //a solucao então seria verificar se isPrimo na condicao junto a bandeira
        while ( cont < n /* && isPrimo */ ) {            
            if ( n % cont == 0 ) {
                isPrimo = false;
                break; //forca a parada do lao pois já nao será mais primor
            }
            cont++;
        }
        System.out.println( isPrimo 
                ? "Numero " + n + " e primo"
                : "Numero " + n + " nao e primo");
    }

}

Lista de exercícios de estruturas de repetições - 29 - Palíndromos são palavras (frases também) que são iguais quando lidas de frente para trás e de trás para frente. (Desconsidere acentos e sinais digitados). Num palíndromo, normalmente são desconsiderados os sinais ortográficos (diacríticos ou de pontuação), assim como os espaços entre palavras, bem como maiúsculas e minúsculas.

//Questao29
Palíndromos são palavras (frases também) que são iguais quando lidas de frente para trás e de trás para frente. (Desconsidere acentos e sinais digitados).
Num palíndromo, normalmente são desconsiderados os sinais ortográficos (diacríticos ou de pontuação), assim como os espaços entre palavras, bem como maiúsculas e minúsculas.

Exemplo a palavra OVO é um palíndromo.
As frases abaixo também são palíndromos:
Ame o poema
Amor a Roma
Ate o poeta
Luz azul
Socorram-me, subi no ônibus em Marrocos

import java.util.Scanner;

public class Questao29 {


public static void main(String[] args) {
Scanner leia = new Scanner(System.in);

String palavra;
String normalizar;

System.out.println("Digite um texto");
// aqui precisamos usar nextLine pois next só pega a primeira palavra
   palavra = leia.nextLine();


// removendo acentos, espacos etc
normalizar = palavra;
normalizar = normalizar.replaceAll("[�����]", "A");
normalizar = normalizar.replaceAll("[�����]", "a");
normalizar = normalizar.replaceAll("[����]", "E");
normalizar = normalizar.replaceAll("[����]", "e");
normalizar = normalizar.replaceAll("����", "I");
normalizar = normalizar.replaceAll("����", "i");
normalizar = normalizar.replaceAll("[�����]", "O");
normalizar = normalizar.replaceAll("[�����]", "o");
normalizar = normalizar.replaceAll("[����]", "U");
normalizar = normalizar.replaceAll("[����]", "u");
normalizar = normalizar.replaceAll("�", "C");
normalizar = normalizar.replaceAll("�", "c");
normalizar = normalizar.replaceAll("[��]", "y");
normalizar = normalizar.replaceAll("�", "Y");
normalizar = normalizar.replaceAll("�", "n");
normalizar = normalizar.replaceAll("�", "N");
normalizar = normalizar.replaceAll("[-+=*&%$#@!_]", "");
normalizar = normalizar.replaceAll("['\"]", "");
normalizar = normalizar.replaceAll("[<>()\\{\\}]", "");
normalizar = normalizar.replaceAll("['\\\\.,()|/]", "");
normalizar = normalizar.replaceAll("[^!-�]{1}[^ -�]{0,}[^!-�]{1}|[^!-�]{1}", " ");
normalizar = normalizar.replaceAll(" ", "");
char[] letras = normalizar.toCharArray();
String inverso = "";
for (int i = letras.length - 1; i >= 0; i--) {
inverso += letras[i];
}
System.out.println("inverso " + inverso );
if ( normalizar.equalsIgnoreCase(inverso) ) {
System.out.println("A frase " + normalizar + " e palindrome");
} else {
System.out.println("A frase " + normalizar + " nao e palindrome");
}
}
}


Lista de exercícios de estruturas de repetições - 28 - Crie um algoritmo que entre um literal (String) e conte quantas ocorrências de A, E, I, O e U essa literal tem. Considere maiúsculas e minúsculas. Caso a literal não tenha nenhuma vogal mostre a mensagem “Palavras sem vogais“.

//Questao28
Crie um algoritmo que entre um literal (String) e conte quantas ocorrências de A, E, I, O e U essa literal tem. Considere maiúsculas e minúsculas. Caso a literal não tenha nenhuma vogal mostre a mensagem “Palavras sem vogais“.

import java.util.Scanner;

public class Questao28 {


public static void main(String[] args) {
Scanner leia = new Scanner(System.in);

String palavra;
char c;
int a = 0, e = 0, i = 0, o = 0, u = 0;

System.out.println("Digite uma palavra");
palavra = leia.next();

for (int j = 0; j < palavra.length(); j++) {
c = palavra.charAt(j);

if (c == 'a' || c == 'A')
a++;
else if (c == 'e' || c == 'E')
e++;
else if (c == 'i' || c == 'I')
i++;
else if (c == 'o' || c == 'O')
o++;
else if (c == 'u' || c == 'U')
u++;

}

if (a == 0 && e == 0 && i == 0 && o == 0 && u == 0) {
System.out.println("Palavra sem vogais");
} else {
System.out.println("O numero de vogais");
System.out.println("a = " + a);
System.out.println("e = " + e);
System.out.println("i = " + i);
System.out.println("o = " + o);
System.out.println("u = " + u);
}
}

}

//////

import java.util.Scanner;


public class Questao28ComSwitchCase {

public static void main(String[] args) {
Scanner leia = new Scanner(System.in);
String palavra;
char c;
int a = 0, e = 0, i = 0, o = 0, u = 0;
System.out.println("Digite uma palavra");
palavra = leia.next();
for (int j = 0; j < palavra.length(); j++) {
c = palavra.charAt( j );
switch ( c )  {
case 'a':
a++;
break;
case 'A':
a++;
break;
case 'e':
e++;
break;
case 'E':
e++;
break;
case 'i':
i++;
break;
case 'I':
i++;
break;
case 'o':
o++;
break;
case 'O':
o++;
break;
case 'u':
u++;
break;
case 'U':
u++;
break;
}
if ( a == 0 && e == 0 && i == 0 && o == 0 && u == 0) {
System.out.println("Palavra sem vogais");
} else {
System.out.println("O numero de vogais");
System.out.println("a = " + a);
System.out.println("e = " + e);
System.out.println("i = " + i);
System.out.println("o = " + o);
System.out.println("u = " + u);
}
}
}