算法基础面试题勾股定理
- 2019 年 10 月 17 日
- 笔记
如果 a+b+c=1000,且 a^2+b^2=c^2(a,b,c 为自然数),如何求出所有a、b、c可能的组合?
如上:a+b+c=1000, a平方+b平方=c平方 求出所有abc可能的组合?
思路方法:用枚举法,a,b,c 一个一个试。
//枚举法:
//a=0 ... a=1000;
//b=0 ... c=1000;
//c=0 ... c=1000;
//三个嵌套循环实现
for($a=0;$a<1001;$a++)
{
for($b=0;$b<1001;$b++)
{
for($c=0;$c<1001;$c++)
{
if($a+$b+$c==1000 && $a*$a+$b*$b==$c*$c)
{
echo "a=$a , b=$b , c=$c rn";
}
}
}
}