如何在不使用除法运算符的情况下编写实现整数除法算法的函数php
问题描述:
如何使用除法运算符编写实现整数除法算法的函数,而不使用 。可以丢弃浮点值和剩余部分 。错误条件可能会被忽略。如何在不使用除法运算符的情况下编写实现整数除法算法的函数php
例如:
f(10, 3) is 3
f(10, 5) is 2
f(55, 5) is 11
答
我的实现,但它没有考虑到操作数的帐户迹象
function f($value, $div)
{
$result = 0;
while ($value >= $div) {
$result++;
$value -= $div;
}
return $result;
}
var_dump(f(10,3));
答
我的猜测是,你将不得不看位运算符$ X> > $ y右移一位(乘以两),相反的是$ x < < $ y,它向左移一位,然后除以二。
答
function div($a,$b)
{
$a -= $a % $b;
for($i = 0; $a != 0; $i++)
$a -= $b;
return $i;
}
这当然只适用于正数
没有违法的功能,但它似乎是在最近的历史记录相当多的问题,似乎就像是一些薄薄的家庭作业问题,没有事先尝试过的解决方案。如果是这样的话,我们在这里提供帮助,但我们不是为了完全为你做作业。这可能会欺骗我们,你的同学,最重要的是你自己。请看看http://meta.stackexchange.com/questions/10811/how-to-ask-and-answer-homework-questions - 最重要的是,在你的最后显示一些初步的努力,然后来一个特定的关于你被困住的特定作品的问题。 – 2010-10-13 05:16:55