Jump to content
irwingato

Verificador de número primo e informe o primo anterior a ele

Recommended Posts

Var
// Seção de Declarações das variáveis 
Fatorial,Numero,x : Inteiro
Primo,Resposta    : Inteiro
vetorr            : vetor[0..1000] de inteiro
Flag              : Logico

Inicio
// Seção de Comandos, procedimento, funções, operadores, etc... 
Limpatela
  Mudacor("Amarelo","Frente")
  Escreva("Deseja até que número primo: ")
  leia(Numero)
  Escreval
  Escreva(" 1")
  Para Primo de 2 ate Numero faca
    Fatorial<- 2
    Flag <- Falso
    enquanto (Primo<>fatorial) faca
      Resposta <- Primo MOD Fatorial
      Fatorial <- Fatorial + 1
      se Resposta = 0 entao
         Flag <- Verdadeiro
      fimse
    fimenquanto
    se (Nao Flag) entao
      escreva(" , ",Primo)
      vetorr[x] := primo
      x := x + 1
    fimse
  fimpara
  escreval
  escreval
  escreval("O Número Primo Anterior A ",numero," é ",vetorr[x-1])

O código ficou bom mas contém um erro o número 1 não é primo e preciso otimizá-lo ainda para ficar mais eficiente gostaria de quando você múltiplo de um número já removesse da contagem e passasse para o próximo número, pois quando é múltiplo já não é mais primo pois somente precisa ter 2 divisores exatos que no caso seria o 1 e o número digitado, a e outra falha no algoritmo tem que ser um número primo anterior e caso o número digitado seja primo deve informar o número primo anterior a este digitado

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By Amanda Sprouse
      Olá, sou nova na programação e ainda estou trabalhando só com o visualg. Então relevem qualquer coisa, por favor.
       
      Bom... Meu professor pediu para fazermos um programa no visualg que escrevesse de 0 até 100 por extenso.
       
      Tem algumas restrições só podemos usar:
      Se; fimse;
      Escreva; leia;
      <-
       
      •Não pode usar vetores e isso complicou muito.
      •Não pode ser (todo) assim: se (numero=45) enato
      escreva("Quarenta e cinco"), porque isso ia gastar muitas linhas. 
       
      Ele deu uma dica de como fazer: 
       
      Var:
      Unidaden: inteiro
      Unidadec: caractere
      Dezena: caractere
      Numero: inteiro
      Inicio:
      escreva ("Digite um número e tecle enter: )
      leia (numero)
      Se (numero>20) e (numero<30) entao
      escreva ("Vinte e ", ???)
       
       
    • By Luan cinco
      Olá, gostaria que vocês pudessem me ajudar a desenvolver e com resolução esses exercícios aqui,  estou quebrando a cabeça e não consigo chegar em nadaaa, obrigado!!! 
       
      Primeiro exercício 
       
      1-Leia um valor inteiro entre 1000 e 9999 e verifique se o número formado apenas pelos algarismos que estão nas casas das unidades de milhar e das centenas é ou não múltiplo de 4.
       
      Segundo " "
       
      2- Numa loja de eletrodomésticos, o vendedor encarregado da seção de televisores recebe, mensalmente, um salário fixo mais comissão. Esta comissão é calculada em relação ao tipo e a quantidade de televisores vendidos por mês, obedecendo a seguinte tabela: Sobre o seu salário fixo há um desconto de 10% referente ao INSS. Caso o seu salário bruto exceda a R$ 1500,00 haverá desconto de imposto de renda, conforme a segunda a tabela ao lado, aplicada sobre o valor excedente a R$ 1500,00.  Calcule: a comissão do funcionário, o salário bruto, os valores de cada desconto, o total dos descontos e o salário líquido.
       

       
      Terceiro  " "
       
      Escreva um algoritmo que leia o valor de 3 ângulos de um triângulo e escreva se o triângulo é retângulo, obtusângulo ou acutângulo. A saber, o triângulo retângulo possui um ângulo reto, o triângulo obtusângulo possui um ângulo obtuso, e o triângulo acutângulo possui 3 ângulos agudos.
       
      Quarto 
       
      No Campeonato Mundial de Cross Fit o atleta deve pesar entre 65 Kg (inclusive) e 100 Kg (inclusive) e medir de 1,70 m (inclusive) a 1,95 m (inclusive). Escrever um algoritmo para ler a altura e o peso de um jogador e determinar se o jogador está apto a participar do campeonato, escrevendo a mensagem correta, conforme a situação:
      • ACEITO (se a altura e o peso do jogador estiverem dentro da faixa especificada)
      • TOTALMENTE RECUSADO (se a altura e o peso do jogador forem inválidos)
      • RECUSADO POR ALTURA (se somente a altura do jogador for inválida) • RECUSADO POR PESO (se somente o peso do jogador for inválido)
    • By jinxx
      Gente alguém pode me da uma luz nesse algoritmo? como eu resolvo isso pelo menos? Tentei utilizar o comando arquivo <> no visualg, mas não da certo. 
       
      Você decidiu comprar um carro e para ajudar na sua decisão, você resolveu desenvolver um código que mostre ao final qual é o menor custo ao final de ano para cada modelo escolhido baseado no custo total de compra do carro, custo com impostos, custo com combustível (considerando o consumo médio de cada veículo e um total estimado de 10.000 Km rodados no ano e o valor de médio R$ 3,98 para o litro de combustível) e custos com seguro.
      Como dados de entrada você pode criar um arquivo que contenha as seguintes informações que serão carregadas no programa.
      Modelo do veículo
      Custo total de compra
      Custo total de impostos
      Consumo médio de combustível (Km/l)
      Custos com seguro
      Chevrolet Ônix
      R$36.000,00
      R$1.400,00
      11,8
      R$1.600,00
      Ford Fiesta
      R$32.000,00
      R$1.300,00
      13,5
      R$1.800,00
      VW Fox
      R$31.000,00
      R$1.450,00
      12,3
      R$1.300,00
      VW Polo
      R$41.000,00
      R$1.600,00
      13,5
      R$1.500,00
      Hyundai HB20
      R$40.000,00
      R$1.200,00
      11,6
      R$1.200,00
      Renault Sandero
      R$30.000,00
      R$1.300,00
      12,8
      R$1.900,00
      Ao final o programa deverá mostrar os dados apresentados na tabela para cada veículo e o custo total no final de um ano para cada um deles.
    • By Felipe_2k19
      Olá galera tudo beleza?
       Eu estou tentando resolver um problema no visualg, usando Portugol porém eu não sei aplicar algumas coisas que são pedidas no mesmo.
      Problema: Dado um número, informar se é par ou ímpar. Se for par somar 5 no número informado e se for  ímpar multiplicar por 3 o número informado.
      Eu fiz a parte em que ele fala se o número e par ou ímpar, mas não sei fazer a parte da soma e a multiplicação alguém pode me ajudar?
      ALGORITMO:
      Var n:inteiro inicio escreval("Insira um número inteiro") leia (n) se (n mod2=0) entao escreval ("O número é par") senao escreval("O número é impar") fimse Fimalgoritmo  
    • By Felipe_2k19
      Fala galera tudo beleza?
      Então meu professor passou um "problema" e falou para criar um programa no Visualg usando Portugol, só que eu estou com alguns problemas principalmente na fórmula, alguém pode me ajudar?
      Pergunta: Dado o preço do ingresso e a idade o programa devera informar o preço do ingresso com os seguintes descontos de acordo com a idade:
      IDADE
      0-5-15%
      6-20-5%
      21-40- 2%
      acima de 40 - 30%
       
      Se puderem me ajudar agradeço.
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.