dark_wolk 0 Denunciar post Postado Julho 26, 2008 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
gRoOvE 0 Denunciar post Postado Julho 26, 2008 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
Giovanni Ritchie 0 Denunciar post Postado Julho 26, 2008 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
dark_wolk 0 Denunciar post Postado Julho 26, 2008 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
_Isis_ 202 Denunciar post Postado Julho 26, 2008 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 that has no positive integer divisors other than 1 and 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
gRoOvE 0 Denunciar post Postado Julho 27, 2008 nossa Ritchie, de onde tirou isso? Compartilhar este post Link para o post Compartilhar em outros sites
dark_wolk 0 Denunciar post Postado Julho 27, 2008 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
gRoOvE 0 Denunciar post Postado Julho 27, 2008 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
Cornelius 0 Denunciar post Postado Agosto 1, 2008 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
gRoOvE 0 Denunciar post Postado Agosto 1, 2008 Tá, e como você vai saber qual impar é primo? Compartilhar este post Link para o post Compartilhar em outros sites
_Isis_ 202 Denunciar post Postado Agosto 1, 2008 Verificando se tem algum outro divisor,oras... Compartilhar este post Link para o post Compartilhar em outros sites
gRoOvE 0 Denunciar post Postado Agosto 2, 2008 Soh Compartilhar este post Link para o post Compartilhar em outros sites
Mortalzera 0 Denunciar post Postado Agosto 14, 2008 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
_Isis_ 202 Denunciar post Postado Agosto 14, 2008 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
Mortalzera 0 Denunciar post Postado Agosto 14, 2008 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
_Isis_ 202 Denunciar post Postado Agosto 14, 2008 É 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
Giovanni Ritchie 0 Denunciar post Postado Agosto 15, 2008 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
quitZAUMMM 18 Denunciar post Postado Agosto 19, 2008 você deve ter caido na desenciclopédia! Compartilhar este post Link para o post Compartilhar em outros sites
gRoOvE 0 Denunciar post Postado Agosto 22, 2008 dasuidashausasd pode crer quit, zuaram o Ritchie :D Compartilhar este post Link para o post Compartilhar em outros sites
Giovanni Ritchie 0 Denunciar post Postado Agosto 29, 2008 dasuidashausasd pode crer quit, zuaram o Ritchie :D Não gente, deem uma olhada no link abaixo http://pt.wikipedia.org/wiki/N%C3%BAmero_primo Compartilhar este post Link para o post Compartilhar em outros sites