📜  生成数字的所有旋转的 PHP 程序

📅  最后修改于: 2022-05-13 01:54:11.239000             🧑  作者: Mango

生成数字的所有旋转的 PHP 程序

给定一个整数n ,任务是生成所有可能的左移数字。左移数是当该数的所有数字向左移动一个位置并且第一个位置的数字移动到最后一个位置时生成的数字。
例子:

方法:

  • 假设n = 123
  • n10相乘,即n = n * 10 = 1230
  • 将第一个数字添加到结果数字,即1230 + 1 = 1231
  • 从结果数字中减去(第一位)* 10 k ,其中k是原始数字中的位数(在本例中,k = 3)。
  • 1231 – 1000 = 231是原始数字的左移数字。

下面是上述方法的实现:

PHP
 0) 
    { 
        $cnt++; 
        $n = floor($n / 10); 
    } 
    return $cnt; 
} 
  
// Function to print the left shift numbers 
function cal($num) 
{ 
    $digits = numberOfDigits($num); 
    $powTen = pow(10, $digits - 1); 
  
    for ($i = 0; $i < $digits - 1; $i++)
    { 
  
        $firstDigit = floor($num / $powTen); 
  
        // Formula to calculate left shift 
        // from previous number 
        $left
            = (($num * 10) + $firstDigit) - 
               ($firstDigit * $powTen * 10); 
              
        echo $left, " "; 
  
        // Update the original number 
        $num = $left; 
    } 
} 
  
// Driver Code
$num = 1445;
cal($num); 
  
// This code is contributed by Ryuga
?>


输出:
4451 4514 5144

有关详细信息,请参阅有关生成数字的所有旋转的完整文章!