Løsningsforslag - oppgaver i Avsnitt 1.3.1


Oppgave 2

  a) 2 3 6 1 5 4  b) 2 3 6 4 1 5  c) 2 3 4 1 5 6
  d) 2 4 1 3 5 6  e) 3 1 2 4 5 6

Hvis du har kopiert metoden nestePermutasjon inn i din versjon av samleklassen Tabell, kan du bruke kode som dette:

  int[] a = {2,3,6,1,4,5};
  Tabell.nestePermutasjon(a);
  Tabell.skriv(a);

Oppgave 3

  3 1 4 9 8 2 5 6 7 10
  3 1 4 9 8 2 5 6 10 7
  3 1 4 9 8 2 5 7 6 10
  3 1 4 9 8 2 5 7 10 6
  3 1 4 9 8 2 5 10 6 7
  3 1 4 9 8 2 5 10 7 6
  3 1 4 9 8 2 6 5 7 10
  3 1 4 9 8 2 6 5 10 7
  3 1 4 9 8 2 6 7 5 10
  3 1 4 9 8 2 6 7 10 5 

Hvis du har kopiert metoden nestePermutasjon inn i din versjon av samleklassen Tabell, kan du bruke kode som dette (metoden skrivln er den som du ble bedt om å lage i Oppgave 5 i Avsnitt 1.2.2):

  int[] a = {3,1,4,9,7,10,8,6,5,2};

  for (int i = 0; i < 10; i++)
  {
    Tabell.nestePermutasjon(a);
    Tabell.skrivln(a);
  }

Oppgave 4

  int[] a = {1,2,3};
  do { Tabell.skrivln(a); }
  while (Tabell.nestePermutasjon(a));

Oppgave 5

Med n = 7 blir svaret 8028.