题目:
<code>在一张白纸上画2999条直线,最多可以将白纸分割成多少块?请写出计算函数 </code>
答案:
立即学习“PHP免费学习笔记(深入)”;
<code>//?
function maxBlock($num)
{
//@todo 如何计算?
}
</code>求算法
<code>maxBlock(2999); </code>
题目:
<code>在一张白纸上画2999条直线,最多可以将白纸分割成多少块?请写出计算函数 </code>
答案:
立即学习“PHP免费学习笔记(深入)”;
<code>//?
function maxBlock($num)
{
//@todo 如何计算?
}
</code>求算法
<code>maxBlock(2999); </code>
一条线,只要它不跟之前任何的线平行,它就与所有的线都相交。
可以做到这一点,因为线的斜率可以取任何实数和无穷大,是稠密的。
一条线分割了另一条线,就相当于分割了它下方的区域。
这时我们可以得到这样的递推式:S(0) = 1; S(n) = S(n - 1) + n;
S几乎就是一个等差级数的部分何,展开之后是:S(n) = (1+n)n/2 + 1;
好了S(n)就是你想要的maxBlock(n)了。
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号