Bonsoir à tous,
J'ai un petit problème avec les fonctions récursives pour lesquelles je dois faire un exercice :Pour cela j'ai écrit une fonction :Ecrire une fonction Fortran 90, récursive, qui calcule la factorielle d'un nombre entier N passé comme argument.
Et lorsque je veux la tester avec un programme, ça foire rien ne se passe, j'ai l'impression que le problème vient de programme appelant que voici :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 recursive function factorielle(n) result (facto) implicit none integer, intent (in) :: n integer :: facto IF(n.eq.0 .OR. n.eq.1) then facto=1 ELSE DO facto=n*factorielle(n-1) END DO ENDIF END FUNCTION
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 program factotest implicit none integer::n,factorielle,facto n=6 facto=factorielle(n) print *, facto end program
Quelqu'un pourrait-il éclairer ma lanterne ? ^^
Merci d'avance !
Partager