• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

lamuria

será número primo?

7 mensagens neste tópico

boas pessoal.

estava aqui a tentar fazer um programa em que eu inseria um dado valor e o programa me diria se o valor que eu inseri é número primo ou não.

pensei utilizar um while com uma condição (numbers<a && numbers>1) em que:

a = valor que eu inseri

numbers =  todos os valores REAIS

pronto, a ideia é a seguinte. eu insiro o tal valor e o programa vai fazer o resto da divisão do valor que eu inseri por todos os valores maiores que 1 e menores que o valor que eu inseri.

mas existe uma certa limitação tbm devido ao pouco tempo a que programo.

a minha questão é a seguinte. se eu inserir o valor 7 eu consigo "programar" para que ele verifique todos esses valores entre 1 e 7. se eu inserir o valor 57 eu tbm consigo programar para ele verificar todos os valores entre 1 e 57. mas a minha dificuldade esta em programar algo em que o programa verifique todos os valores entre 1 e o numero que coloquei. como vou conseguir fazer isto?

não sei se estou a ser bem claro.

só quero deixar uma coisa bem clara, estou no 1ºano da faculdade e este programa não é de nenhum trabalho que tenha de fazer, é mesmo de meu interesse e como tal não quero me deiam a resposta chapada. ajudem me apenas a pensar e a chegar lá.

obrigado a todos os que vão responder.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

crias um contador:

int contador = 0;

e dentro do ciclo while vais incrementando esse contador:

++contador;

depois os cálculos q precisas fazes com esse contador, para veres se é numero primo vai dar-te jeito o operador '%'.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Mas tu queres que o programa diga se o nº que tu inseriste é primo ou não, ou queres que ele te dê todos os primos até esse nº?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Para isso basta verificares se existe algum divisor de N (o teu nº) no intervalo [2 , sqrt(N)]. Se não tiver, então é primo. Se tiver não é.

sqrt(N) = raiz quadrada de N

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

yah obrigado malta ja tenho isto a funcionar.

agora o próximo desafio é em ves de definir as minhas variáveis com o tipo int, definir como strings. bem mais complicado:) fica o desafio para quem quiser..

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Isso vai dar ao mesmo.

Podes converter uma string para int assim:

String s = "1";

int i = Integer.ParseInt(s);

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora