Dans un programme C, comment extrait-on des nombres premiers d'une suite de Fibonacci ?
Mon examen universitaire comportait une question sur la génération de la série FIB et l'extraction des nombres PRIME du résultat. J'ai écrit le code suivant et j'obtiens le bon résultat. Cependant, je suis sûr que mon code n'est pas propre. Quelqu'un peut-il m'aider à écrire un nouveau code ou à modifier le mien et à le rendre propre ?
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
| #include <stdio.h>
int main()
{
int t1 = 0, t2 = 1, nextTerm = 0, n, i, position = 2, primeNumber[10], init = 2, count = 0;
printf("Input N= ");
scanf("%d", &n);
printf("Fibonacci List: %d %d ", t1, t2);
nextTerm = t1 + t2;
while (nextTerm <= n)
{
printf("%d ", nextTerm);
primeNumber[position] = nextTerm;
position++;
t1 = t2;
t2 = nextTerm;
nextTerm = t1 + t2;
}
printf("\nPrime numbers are ");
position = 3;
i = 1;
init = 0;
for (init = 1; init <= 7; init++)
{
for (i = 1; i <= primeNumber[position]; i++)
{
if (primeNumber[position] % i == 0)
{
count++;
}
}
if (count == 2)
{
printf("%d ", primeNumber[position]);
}
count = 0;
position++;
}
return 0;
} |