Apenas para ajudar

29/07/2013

0

Tenho realizado alguns testes de emprego e a maioria pede para escrever um método que calcule um fatorial ou dado um intervalo, quais número nesse intervalo são primos. Como muita gente aqui está à procura de um emprego, resolvi enviar dois métodos para calcular o fatorial e os primos dentro de um intervalo. Espero que ajude a alguém.

public List<Int32> primo(int num)
{
List<Int32> lista = new List<int>();
for (int i = 0; i < num; i++)
{
bool ok = true;
int j = 2;

if (i > 0)
{
while(j <= i-1 && ok)
{
if(i % j == 0)
ok = false;
else
{
ok = true;
j++;
}
}
if(ok)
lista.Add(i);
}
}
return lista;
}

public int fatorial(int num)
{
int n = 0;
if (num > 0)
if (num == 1)
n = 1;
else
n = num * fatorial(num - 1);
return n;
}
Pjava

Pjava

Responder

Posts

29/07/2013

Fernanda Acacia

obrigada pela ajuda!!!


public List<Int32> primo(int num)
{
List<Int32> lista = new List<int>();
for (int i = 0; i < num; i++)
{
bool ok = true;
int j = 2; 

if (i > 0)
{
while(j <= i-1 && ok)
{
if(i % j == 0)
ok = false;
else
{
ok = true;
j++;
}
}
if(ok)
lista.Add(i);
}
}
return lista;
}

public int fatorial(int num)
{
int n = 0;
if (num > 0)
if (num == 1)
n = 1;
else
n = num * fatorial(num - 1);
return n;
}

Responder

29/07/2013

Aluisio Cavalcante

obrigado PJava!!!
Responder

29/07/2013

Joel Rodrigues

Parabéns pela iniciativa, PJava. Estou só identando o código para facilitar a compreensão.
public List<int> primo(int num)
{
	List<int> lista = new List<int>();
	for (int i = 0; i < num; i++)
	{
		bool ok = true;
		int j = 2; 
		 
		if (i > 0)
		{
			while(j <= i-1 && ok)
			{
				if(i % j == 0)
					ok = false;
				else
				{
					ok = true;
					j++;
				}
			}
			if(ok)
				lista.Add(i);
		}
	}
	return lista;
}
 
public int fatorial(int num)
{
	int n = 0;
	if (num > 0)
		if (num == 1)
			n = 1;
	else
		n = num * fatorial(num - 1);
	return n;
}
Responder

30/07/2013

Joel Rodrigues

Gostaria de propôr apenas uma pequena refatoração na função fatorial, só para reduzir o código:
public int fatorial(int num)
{
	if (num == 1)
        return  1;
    return num * fatorial(num - 1);    
}
Responder

30/07/2013

Joel Rodrigues

Vou marcar o tópico como Concluído, para que sirva como fonte de consulta posteriormente.
Responder

30/07/2013

Fernanda Acacia

obrigada Joel.
Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar