Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 置换相关算法_Java_Algorithm_For Loop_Permutation_Factorial - Fatal编程技术网

Java 置换相关算法

Java 置换相关算法,java,algorithm,for-loop,permutation,factorial,Java,Algorithm,For Loop,Permutation,Factorial,你好。我需要一些关于使用java查找可能的排列数量的帮助 比如说,, 如果n=3和k=3(n表示字符长度,k表示要进行排列的字符数) 我们的公式是: nPk=n!/(n-k) nPk=6/(3-3) =6/0 =6(表示6种可能的排列) 因为 n=3!,因此: 3!=3*2*1 =6(n=6) 我只需要知道如何做6的算法!在java中,仅使用for循环。谢谢:)试试这个: public class Try { public static void main(String[] args){

你好。我需要一些关于使用java查找可能的排列数量的帮助

比如说,, 如果n=3和k=3(n表示字符长度,k表示要进行排列的字符数)

我们的公式是: nPk=n!/(n-k)

nPk=6/(3-3)

=6/0

=6(表示6种可能的排列)

因为 n=3!,因此:

3!=3*2*1

=6(n=6)

我只需要知道如何做6的算法!在java中,仅使用for循环。谢谢:)

试试这个:

    public class Try
{
public static void main(String[] args){
    int n=3;
    int fact=1;
    for(int i =n;i>0;i--)
    {
        fact=fact*i;
    }
    System.out.println(fact);
    }

}
n是要找到其阶乘的数字。

请参见

int n=3, fact = 1;
for (; n > 0; n--) {
    fact = fact * n;
}

System.out.println("The result is " + fact);
试试这个

Scanner keyboard = new Scanner(System.in);
int i = keyboard.nextInt();
fact = 1;
for (int n=i; n > 0; n--)
  fact = fact * n;

System.out.println("The result is " + fact);

6! = 这是一个循环!谢谢你,先生。我不知道它有那么简单。哈哈哈欢迎来到编程世界;)