1) Dada uma sequência de N números, imprimi-la na ordem inversa.
List<int> vetor;
int n;
vetor = new List<int>();
Console.Write("Quantos números? ");
n = int.Parse(Console.ReadLine());
for (int i = 1; i <= n; i++)
{
Console.Write("Digite o número {0}: ", i);
vetor.Add(int.Parse(Console.ReadLine()));
}
Console.WriteLine("Os números que você digitou, na ordem inversa, são: ");
for (int i = vetor.Count-1; i >= 0; i--)
Console.WriteLine(vetor[i]);
Console.ReadKey();
2) Dado um número N, imprimi-lo como uma soma de múltiplos de 10 mais a sua unidade.
Exemplo: 472 = 400 + 70 + 2
List<int> vetor;
string n;
bool negativo;
vetor = new List<int>();
Console.Write("Digite um número inteiro: ");
n = Console.ReadLine();
negativo = false;
foreach (char c in n.ToCharArray())
{
if (c == '-')
negativo = true;
else
vetor.Add(int.Parse(c.ToString()));
}
vetor.Reverse();
if (negativo)
Console.Write("{0} = -{1} - ", n, (vetor[vetor.Count-1] * Math.Pow(10, vetor.Count-1)));
else
Console.Write("{0} = {1} + ", n, (vetor[vetor.Count-1] * Math.Pow(10, vetor.Count-1)));
for (int i = vetor.Count - 2; i > 0; i--)
{
if (negativo)
Console.Write("{0} - ", (vetor[i] * Math.Pow(10, i)));
else
Console.Write("{0} + ", (vetor[i] * Math.Pow(10, i)));
}
Console.WriteLine("{0}", vetor[0]);
Console.ReadKey();
3) Números palíndromos são aqueles que são lidos da direita para a esquerda da mesma maneira que da esquerda para a direita.
Exemplo: o número 12321 é palíndromo, enquanto 123 não é.
Dado um número N, informar se ele é palíndromo ou não.
List<char> vetor1, vetor2;
string n;
bool palindromo;
int i;
vetor1 = new List<char>();
vetor2 = new List<char>();
Console.Write("Digite um número natural: ");
n = uint.Parse(Console.ReadLine()).ToString();
foreach (char c in n.ToCharArray())
{
vetor1.Add(c);
vetor2.Add(c);
}
vetor2.Reverse();
palindromo = true;
i = 0;
while (i < vetor1.Count && palindromo)
{
palindromo = vetor1[i] == vetor2[i];
i++;
}
if (palindromo)
Console.WriteLine("O número {0} é palíndromo.", n);
else
Console.WriteLine("O número {0} não é palíndromo.", n);
Console.ReadKey();
4) Imprimir todos os números palíndromos entre 1 e 1000.
List<char> vetor1, vetor2;
string n;
bool palindromo;
int i;
vetor1 = new List<char>();
vetor2 = new List<char>();
for (int k = 1; k <= 1000; k++)
{
n = k.ToString();
foreach (char c in n.ToCharArray())
{
vetor1.Add(c);
vetor2.Add(c);
}
vetor2.Reverse();
palindromo = true;
i = 0;
while (i < vetor1.Count && palindromo)
{
palindromo = vetor1[i] == vetor2[i];
i++;
}
if (palindromo)
Console.WriteLine(n);
vetor1.Clear();
vetor2.Clear();
}
Console.ReadKey();
5) Tentando descobrir se um dado era viciado, um dono de cassino honesto (ha! ha! ha! ha!) o lançou N vezes. Dados os N resultados dos lançamentos, determinar o número de ocorrências de cada face.
int n;
int face;
int[] vetor;
vetor = new int[7];
for (int i = 0; i < vetor.Length; i++)
vetor[i] = 0;
Console.Write("Quantos lançamentos serão feitos? ");
n = int.Parse(Console.ReadLine());
for (int i = 1; i <= n; i++)
{
Console.Write("Digite o lançamento {0}: ", i);
face = int.Parse(Console.ReadLine());
if (face < 1 || face > 6)
vetor[0]++;
else
vetor[face]++;
}
Console.WriteLine();
Console.WriteLine("Número de ocorrências de cada face:");
for (int i = 1; i < vetor.Length; i++)
Console.WriteLine("Face {0} = {1}", i, vetor[i]);
Console.WriteLine("Você digitou faces inválidas {0} vezes.", vetor[0]);
Console.ReadKey();
6) Dados dois vetores X e Y, ambos com n elementos, determinar o produto escalar desses vetores.
7) São dados dois números inteiros positivos p e q, sendo que o número de dígitos de p é menor ou igual ao número de dígitos de q. Verificar se p é um subnúmero de q.
Exemplos:
- p = 23, q = 57238, p é subnúmero de q.
- p = 23, q = 258347, p não é subnúmero de q.
8) Dados dois números naturais M e N, uma frase com M letras e uma palavra com N letras, determine o número de vezes que a palavra ocorre na frase.
Exemplo: Para M = 30, N = 3, a palavra ANA e a frase:
ANA E MARIANA GOSTAM DE BANANA
Temos que a palavra ocorre 4 vezes na frase.
9) Dada uma sequência de N números reais, determinar os números que compõem a sequência e o número de vezes que cada um deles ocorre na mesma.
Exemplo: N = 8
Sequência: -1.7, 3.0, 0.0, 1.5, 0.0, -1.7, 2.3, -1.7
Saída:
-1.7 ocorre 3 vezes
3.0 ocorre 1 vez
0.0 ocorre 2 vezes
1.5 ocorre 1 vez
2.3 ocorre 1 vez
10) Dados dois números naturais M e N e duas sequências ordenadas com M e N números inteiros, obter uma única sequência ordenada contendo todos os elementos das sequências originais sem repetição.
11) Dadas duas sequências com N números inteiros entre 0 e 9, interpretadas como dois números inteiros de N algarismos, calcular a sequência de números que representa a soma dos dois inteiros.
12) Calcule o valor do polinômio p(x) = a0 + a1x + ... + anxn em k pontos distintos. São dados os valores de n (grau do polinômio), de a0,a1,...,an (coeficientes reais do polinômio), de k e dos pontos x1,x2,...,xn.
13) Dado o polinômio p(x) = a0 + a1x + ... + anxn, isto é, os valores de n e de a0,a1,...,an, determine os coeficientes reais da primeira derivada de p(x).
14) Em uma classe há N alunos, cada um dos quais realizou K provas com pesos distintos. Dados N, K, os pesos das K provas e as notas de cada aluno, calcular a média ponderada das provas para cada aluno e a média aritmética da classe em cada uma das provas.