我有以下任务:编写声明数字n的PHP脚本,然后查找所有小于或等于n且由唯一数字组成的3位数字.如果不存在这样的数字,则打印"否".
我有这个代码:
它仅适用于大于100的数字.当我更改例如1的$ number的值时,它显示为空白,而不是"否"
1> Jeremy Harri..:出于学习目的,这样的任务可以通过将其分解为函数来最好地解决,以便您可以更清楚地看到正在发生的事情.所以,例如我们有这些规则:
必须是3位数
必须小于
n
必须包含唯一的数字
所以我们可以编写3个接受
$i
值和$n
值的函数并返回true/false.function isThreeDigits($i) { if ((int) $i > 99 && (int) $i < 1000) { return true; } return false; } function isLessThanN($i, $n) { return (bool) ((int) $i < (int) $n); } function isUniqueDigits($i) { $parts = str_split((string) $i); $initialCount = count($parts); $uniqueCount = count(array_unique($parts)); if ($initialCount === $uniqueCount) { return true; } return false; }使用这三个功能,我们可以检查所有内容:
$n = 1522; for ($i = 0; $i < $n; $i++) { if (isThreeDigits($i) && isLessThanN($i, $n) && isUniqueDigits($i)) { echo "MATCH: $i \n"; } else { echo "NO \n"; } }
@RumenPanchev为了记录,StackOverflow不是"为我的网站编写代码".你的问题很少.我花时间写一个简单的答案来推动你朝着正确的方向前进.祝好运.
@RumenPanchev不要粗鲁.回答问题的人是忙碌生活的志愿者,就像你的一样.