2014-11-23 1 views
0

저는 PHP의 초보자이며 고조파 시리즈를 출력하는 과제를 받았습니다. 제 작품을 통해 고조파 시리즈에 맞는 정확한 알고리즘을 인쇄했음을 알 수 있습니다.하지만이 모든 것을 추가하는 방법을 찾지 못하는 것 같습니다. 시간PHP의 합계를 계산


감사에 대한

$total = 0; 

if ($f1 = "proof") { 
    $i = $_GET["i"]; 

    for($j= 1;$j<=$i;$j++) { 
     $total = $total +(1/$j); 
    } 
echo $total; 

감사합니다! 그것은 효과가있다! 다음은 여기에 짧은 버전입니다 내가

$i = 3; 
$total = 0; 

for($j= 1; $j<=$i ;$j++){ 

    $total += $j/($j + 1); 
} 
echo $total; 
+0

코드가 제대로 작동하는지 확인합니다 나에게. 네가 그것을 실행할 때 어떻게 될까? – lemiant

+1

'if ($ f1 === "proof")' – lighter

+0

편집에 관해서, 어떻게 작동합니까? '1/2 + 2/3 + 3/4'가 추가되었습니다. – irrelephant

답변

0

을 사용하는 것입니다 :

<?php 

    $total = 0; 
    foreach(range(1, 3) as $v) 
     $total += $v/($v+1); 
    echo $total; 

?> 

출력 :

1.9166666666667 

BTW : 당신이 할당을 만들 명세서 경우에! 당신은 비교하지 마!

if ($f1 = "proof") 

=이 변수 $ F1에 "증거"의 값을 할당하고 평등을 평가하지 않습니다 : 당신이 코멘트에서 언급 한 바와 같이 == 또는 ===

+0

확실하게'$ total = $ total + ____'은 괜찮습니까? – irrelephant

0

를 사용하는 것, 버그는 여기 네가 원하는 것처럼. 정말로 원하는 것은

if ($f1 === "proof") 

평등 확인을하는 것입니다. == 작동하지만 형식이 동일하지 않으므로 (0 == "0"은 true로 평가되고 0 === "0"은 그렇지 않음)

관련 문제