Bonjour,
Je cherche à calculer Sum_{1<=i,j<=n i#j} 1/|i-j| en pascal.
Voilà mon code :
Il est compile mais m'affiche un résultat qui ne correspond pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 Program somme; function calcul(n:integer):real; var i,j:real; S:Real; begin S:=0; i:=1; j:=1; while i<=n do begin while j<=n do begin if j<>i then S:=S+(1/abs(i-j)); j:=j+1; end; i:=i+1; end; calcul:=S; end; var n:integer; begin writeln('Entrez un entier'); readln(n); writeln('Le resultat est',calcul(n)); readln; end.
Par exemple pour n=3 il m'affiche 1.5 alors que je devrais obtenir 5. En fait tout se passe comme si seule la 2ème boucle s'exécutait.
EDIT j'ai trouvé il fallait remettre j à 1 en fin de boucle.
Merci
Partager