Ir para conteúdo
Fórum Script Brasil
  • 0

Primos de uma sequência de fibonacci


jeanzin001

Pergunta

Olá pessoal, fiz um programa em c para os mostrar os numero primos de uma sequencia Fibonacci, porém ele está me retornando como se o número 1 é primo, o que preciso alterar no meu programa?

#include "stdio.h"
 

int main()
{

  int a, b, auxiliar, i, n, primo, k;
 

  a = 0;
  b = 1;
 
  
  printf("Digite um número: ");

  scanf("%d", &n);
  printf("Série de Fibonacci:\n");
   printf("%d\n", b);
 
  
  for(i = 0; i < n; i++)
  {
    auxiliar = a + b;
    a = b;
    b = auxiliar;

    primo=0;
        for(k=1; k<=auxiliar; k++)
            if((auxiliar%k)==0)
                 primo++;
   
         if(primo>2)
            printf("%d não e primo\n", auxiliar);

        else
            printf("%d e primo\n", auxiliar);
 
   
  }
}

 

Link para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

  • 0
1 hora atrás, jeanzin001 disse:

if (primo>2)

printf("%d não e primo\n", auxiliar);

else

printf("%d e primo\n", auxiliar);

O número  1 terá apenas um divisor, caindo no else e aparecendo como primo.
Do conceito de número primo, é necessário que ele possua exatamente dois divisores: 1 e ele mesmo.
É mais consistente então você utilizar esta condição:

if (primo==2)
printf("%d e primo\n", auxiliar);
else
printf("%d não e primo\n", auxiliar);


 

Link para o comentário
Compartilhar em outros sites

  • 0

compreendi,estou fazendo tantas perguntas porque sou iniciante na área de programação.

mas me diz uma coisa, porque meu código continua mostrando o número 1 e pulando para o 13.

a sequencia de fibonacci é 1,1,2,3,5,8,13,21....

coloquei para mostrar 6 fibonacci então deveria retornar 2,3,5, mas está vindo 1,2,3,5,13.

vou anexar uma foto, consegue me dar dicas materiais de estudo de lógica ?acho que está me faltando mais lógicas na hora de programar rsrs

print.PNG

Link para o comentário
Compartilhar em outros sites

  • 0
//Programa: Primo Fibonacci
//Função: Obter todos os primos até o termo n da Sequência de Fibonacci
//Autor: Hazzu#7444
//Data: 05/06/2020

//Cabeçalhos
#include <stdio.h>
#include <locale.h>


//Função principal
int main(){
    //Declaração de variáveis
    int i, div, n, a=1, b=2, aux;
    
    setlocale(LC_ALL, "Portuguese");    //Configurando terminal para português
	
	//Apresentação
	printf("------ Primo Fibonacc ------\n");
	printf("Olá, esse programa irá informar todos os primos da Sequência de Fibonnaci até o termo n.\n");

	//Solicitando número
	printf("-Digite o valor de n:\n");
	scanf("%d", &n);
	
	//Resultados triviais
	if (n > 0) printf("1 não é primo.\n");
	if (n > 1) printf("1 não é primo.\n");
	if (n > 2) printf("2 é primo!\n");
    
	//Avaliando termos maiores
	for (i=4; i<=n; i++){		//Três termos da sequência já foram definidos, vamos começar no 4°
		//Calculando próximo termo
		aux  = b;
		b += a;
		a = aux;
		
		//Testando se é primo
		for (div=2; div<=b/2; div++){
			if (b%div == 0){
				printf("%d não é primo.\n", b);
				break;
			}
		}
		if (div > b/2) printf("%d é primo!\n", b);
	}
	
    //Encerrando programa
    return 0;
}

 

Editado por Hazzu
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...