bobby_k

vars

Jun 8th, 2018
145
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.38 KB | None | 0 0
  1. package com.company.Recursion.problems;
  2.  
  3. import java.util.Scanner;
  4.  
  5. public class Variantions_NB {
  6.     static int count;
  7.     static int n;
  8.     static int k;
  9.  
  10.     public static void main(String[] args) {
  11.         Scanner input = new Scanner(System.in);
  12.         n=input.nextInt();
  13.         k=input.nextInt();
  14.  
  15.         int[] set=new int[n];
  16.         int[] vars=new int[k];
  17.         boolean[] used=new boolean[n];
  18.         fillSet(set);
  19.         genVariations(0,set,vars,used);
  20.  
  21.     }
  22.  
  23.     private static void genVariations(int index, int[] set, int[] result, boolean[]used){
  24.  
  25.         if(index==result.length){
  26.                 printVars(result);
  27.         }
  28.         else{
  29.  
  30.             for (int i = 0; i < result.length; i++) {
  31.                 if (!used[i]) {
  32.                     used[i]=true;
  33.                     result[index] = set[i];
  34.                     genVariations(index + 1, set, result,used);
  35.                     used[i]=false;
  36.                 }
  37.             }
  38.         }
  39.     }
  40.  
  41.     private static void printVars(int[] set) {
  42.         //
  43.         for (int i = 0; i < set.length - 1; i++) {
  44.             System.out.print(set[i] + " ");
  45.         }
  46.         System.out.println(set[set.length - 1]);
  47.     }
  48.     private static int[] fillSet(int[] set) {
  49.         for (int index = 0; index <set.length ; index++) {
  50.             set[index]=index+1;
  51.         }
  52.         return set;
  53.     }
  54. }
Advertisement
Add Comment
Please, Sign In to add comment