2016-01-21 56 views
0

在一个小型项目中,我会链接打印1,2,5,10,17,26,37,50,65这个数字增加了一个奇数,如1,3,5,7,9,11,13。如何打印如1,2,5,10,17,26,37,50,65

我一直无法找到任何打印方式。

有什么建议吗?

$counter = 0; 
$maxCount = 1000; 
$sum = 0; 
while($counter <=$maxCount) 
{ 
    if ($counter % 2 != 0) 
    { 
     $sum += $counter; 
    } 
    echo $sum . "<br>"; 
    $counter++; 
} 
+1

你是在正确的方式。但你应该从$ sum = 1开始,只有在增量时输出,在增量前输出以获得所需的输出。 –

回答

1

你可以做到这一点使用while()循环,

$start = $interva1 = 1; 
$maxCount = 100; 
while($start < $maxCount){ 
    echo $start . " "; 
    $start += $interva1; 
    $interva1 += 2; 
} 
  • $start是要与
  • $interval启动序列号在每次迭代要增加的奇数循环
+0

有人可以告诉我这个倒退的原因吗? –

2

这可以通过使用for循环并增加2来完成。如果从奇数开始,间隙始终保持奇数。

$sum = 1; 
$maxGap = 1000; 

for ($gap = 1; $gap <= $maxGap; $gap += 2) { 
    echo $sum . "<br />"; 
    $sum += $gap; 
}