Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

dark_wolk

Numeros primos

Recommended Posts

ai galera...

 

tava dando uma olhada no livro do andré forbellone e vi esse problema...

 

eh mais ou menos assim

 

construa um algoritmo pra dizer se um numero lido eh primo ou naum...

 

eu sei q pra um numero ser primo ele só pode ser divido por ele mesmo e por 1...

o problema eh q todo numero eh divisivel por ele por um...

 

alguma idéia?

 

http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu sei q pra um numero ser primo ele só pode ser divido por ele mesmo e por 1...

o problema eh q todo numero eh divisivel por ele por um...

Como assim? Quanto a ser divido por 1, isso você pode desconsiderar aqui. Você tem que varrer todos os outros numeros abaixo do número que deseja saber se é primo, caso exista mais de uma divisão com resto zero, o número não é primo, ou seja, para ser primo o número tem que ser dividido APENAS por ele mesmo e retornar resto zero.

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu sei q pra um numero ser primo ele só pode ser divido por ele mesmo e por 1...

o problema eh q todo numero eh divisivel por ele por um...

Como assim? Quanto a ser divido por 1, isso você pode desconsiderar aqui. Você tem que varrer todos os outros numeros abaixo do número que deseja saber se é primo, caso exista mais de uma divisão com resto zero, o número não é primo, ou seja, para ser primo o número tem que ser dividido APENAS por ele mesmo e retornar resto zero.

 

 

1 numero primo é aquele que possui apenas 4 divisores....

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu sei q pra um numero ser primo ele só pode ser divido por ele mesmo e por 1...

o problema eh q todo numero eh divisivel por ele por um...

Como assim? Quanto a ser divido por 1, isso você pode desconsiderar aqui. Você tem que varrer todos os outros numeros abaixo do número que deseja saber se é primo, caso exista mais de uma divisão com resto zero, o número não é primo, ou seja, para ser primo o número tem que ser dividido APENAS por ele mesmo e retornar resto zero.

 

 

1 numero primo é aquele que possui apenas 4 divisores....

 

 

como assim?

Compartilhar este post


Link para o post
Compartilhar em outros sites

De novo?

 

http://mathworld.wolfram.com/PrimeNumber.html

A prime number (or prime integer, often simply called a "prime" for short) is a positive integer Inline1.gif that has no positive integer divisors other than 1 and Inline2.gif itself.

 

http://primes.utm.edu/glossary/page.php?sort=Prime

An integer greater than one is called a prime number if its only positive divisors (factors) are one and itself.

 

http://primes.utm.edu/notes/faq/one.html

 

http://odin.mdacc.tmc.edu/~krc/numbers/prime.html

Definition: An integer p is called a prime number if the only positive integers that divide p are 1 and p itself. Integers that are not prime are called composite.

 

http://www.liceofoscarini.it/studenti/crit...mate/primi.html

numero primo [assoluto]: è un numero naturale (intero positivo) N che ha 2 e 2 soli divisori che sono ovviamente 1 ed N stesso

 

Também no livro de teoria dos números que ta socado aqui em casa diz "Um numero inteiro n (n>1) possuindo somente dois divisores positivos n e 1 é chamado primo".

 

http://primes.utm.edu/notes/faq/negative_primes.html

In the same way, -3 and 3 are associates, and in a sense represent the same prime . So yes, negative integers can be prime (when viewed this way). In fact the integer -p is prime whenever p, but since they are associates, we really do not have any new primes.

 

In more general number fields the confusion above disappears. That is because most of these fields are not principal ideal domains and primes then are represented by ideals, not individual elements. Looked at this way (-3), the set of all multiples of -3, is the same ideal as (3), the set of multiples of 3. -3 and 3 then generate exactly the same prime ideal.

 

http://www.newton.dep.anl.gov/askasci/math99/math99185.htm

Prime-ness has to do with multiplication /division. A number is prime if and only if it is divisible only by itself and the number '1'. Whether the sign is positive or negative does not matter.

 

Como o exercício não especifica domínio, fique nos naturais. Mas numero primo não tem 4 divisores.

Compartilhar este post


Link para o post
Compartilhar em outros sites

deem uma olhada nessa solucaoi:

 

#include <stdio.h>
int main()
{
	int n1,n2,x,y;
	printf("Digite um numero maior que 1:");
	scanf("%d", &n1);
	printf("Digite um numero maior:");
	scanf("%d", &n2); 
	while(n1<n2){
		for(x=n1;x>=2;x--){
			if(n1%x==0&&x!=n1&&x!=1){
				n1++;
				x=1;
			}
			else if(x==2){
				printf("%d ", n1);
				n1++;x=1;
			}
		}
	}
	printf("\n");
	system("pause");
}

achu q tah meio estranho mais so sei q funciona...

num tava conseguindo pensar em portugues...

apesar q a partir desse eu achu mais facil

Compartilhar este post


Link para o post
Compartilhar em outros sites

você nao precisa entrar com esses dois numeros cara, entre apenas com um numero, ai com um for você consegue varrer do 0 ate este numero, a cada iteração, faça a verificação do resto, caso o numero q foi entrado tenha mais de uma(sem considerar a divisão por 1 aqui) divisão q resulte em resto 0, este nao eh primo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, uma boa dica para distinguir se os números são ou não primos é saber se ele é par. Com exceção do número 'dois', os números primos são, em sua grande maioria, impares.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faz assim, que tal calcularmos a quantidade de números primos em um intervalo e dizermos qual é ele?

 

CODE
#include <stdio.h>

 

int main(){

int x,y,i,j,k = 0;

printf("Digite o primero numero do intervalo : ");

scanf("%d", &x);

 

printf("Digite o segundo numero do intervalo : ");

scanf("%d", &y);

 

for(i = x;i <=y;i++){

k = 0;

for(j=1;j<=i;j++){

if(i%j == 0) k++;

}

if(k==2) printf("Esse numero é primero : %d\n", i);

}

 

return 0;

}

 

o algoritmo faz o seguinte ele pega um intervalo vamo supor :

I=[3,4,5], ele pega o 3 e divide por todos os numero de 1 até 3 e verifica o resto se o resto for igual a zero ele soma ao k;

 

Como um numero primo só é divisível por ele mesmo e 1, entaum o se o k for igual a 2 o numero é primo senão ele não é primo.

 

Bem simples o algoritmo espero que gostem = ], a idéia foi transforma o problema é uma coisa mais interessante, aumentando um poco a dificuldade.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Gente,vcs complicam demais esse troço:

 

1 - não precisa contar quantos divisores existem

2 - É só pegar o intervalo aberto (1;n)

 

scanf("%u %u",&n1,&n2);

for(;n1<n2;n1++) {
x = 2;
while (x<n1 && n1%x!=0)
	 x++;
if (x == n1) puts("Primo");
else puts("Composto");
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Gente,vcs complicam demais esse troço:

 

1 - não precisa contar quantos divisores existem

2 - É só pegar o intervalo aberto (1;n)

 

scanf("%u %u",&n1,&n2);

for(;n1<n2;n1++) {
	x = 2;
	while (x<n1 && n1%x!=0)
		 x++;
	if (x == n1) puts("Primo");
	else puts("Composto");
 }

Pelo que eu entendi você pega um intervalo e vai somando uma unidade no x e divide o numero do intervalo que é o : "n1"

por x, quando a divisão por x retorna um resto diferente de zero ele para e supondo que o numero n1 seja primo a divisão só vai parar quando x for igual a n1, se for composto ele para antes e x vai se diferente de n1.

Seu código é bom = ], uma maneira diferente de pensa = ], mas não necessariamente menos complicado = ];

Compartilhar este post


Link para o post
Compartilhar em outros sites

É bem menos complicado do que

 

while(n1<n2){
	for(x=n1;x>=2;x--){
		if(n1%x==0 && x!=n1 && x!=1){
			n1++;
			x=1;
		}
		else if(x==2){
			printf("%d ", n1);
			n1++;x=1;
		}
	}
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

nossa Ritchie, de onde tirou isso?

 

Veio essa informacao encontrei na wikipedia, e me deixou bastante confuso.. procura na google: numeros primos wikipedia... e vais encontrar isso

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.