龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > php编程 >

简单计算

时间:2014-07-22 14:50来源: 作者: 点击:
分享到:
求x^2+y^2+z^2=N的x,y,z值输出
求x^2+y^2+z^2=N的x,y,z值输出
set_time_limit(0);
	$number=14;
	$sqrnum=(int)(sqrt($number));
	$mid=(int)(sqrt($number)/3);
	$mid=$mid>0?$mid:1;
	$x=1;$z=$sqrnum>0?$sqrnum:1;
	$flag=0;
	$count=0;//统计这样的数字有多少对!
	
	while($x<=$mid && $x<=$z)
	{
		$temp=$x*$x+$z*$z;
		$y=sqrt($number-$temp);
		$y=(string)$y;//检验是否是整数方法
		if(!strstr('.',$y)){
			if($y>$z) {$tem=$z;$z=$y;$y=$tem;}
			echo $x,' ',$y,' ',$z;
			$count++;
			$x++;
		}else if($flag==0){
			$x++;
			$flag=1;
		}else if($flag==1)
		{
			$z--;
			$flag=0;
		}
			
	}
	if($count==0) echo '不存在这样的整数对x,y,z!';
精彩图集

赞助商链接