これは簡単な答えの愚かな質問かもしれませんが、私は私の人生のためにそれを理解することはできません..:p
だから私が変数を持っているなら n = 2
たとえば、以下の数値を組み合わせることができるすべての方法のリストが必要です。 n
の結果 n = 2
それでは:
012
021
102
120
201
210
助けをありがとう:)
回答:
回答№1は1これは数学の質問ですが、あなたは0-nの順列を計算しようとしています。
順列を計算するには、式nPkを使用します。ここで、kは選択された数であり、 n = k + 1
。 nの階乗を取り、それをn --kの階乗で除算します。 ==> n! / (n - k)!
あなたの例ではそれは
3!/(3 - 2)!
3!/1!
3 * 2 * 1 / 1 = 6
以下のリンクで詳細を確認できます。 http://www.mathwords.com/p/permutation_formula.htm
回答№2の場合は0
パブリッククラスNumberCombination {
public static void combination(int[] num, int x){//x is used to tell from which position in array permutations are needed to be done.
if(x!=num.length){
for(int i=x;i<num.length;i++){
int temp = num[i];
num[i] = num[x];
num[x] = temp;
combination(num,x+1);
temp = num[i];
num[i] = num[x];
num[x] = temp;
}
}
else{
for(int i=0;i<num.length;i++)
System.out.print(num[i]);
System.out.println();
}
}
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.println("Enter the number:");
int n = Integer.parseInt(br.readLine());
int[] num = new int[n+1];
for(int i=0;i<=n;i++)
num[i] = i;
combination(num, 0);
}
}