C++ :: Aufgabe #207

1 Lösung Lösung öffentlich

Durchnummerierung aller möglichen geordneten Ziehungsergebnisse bei 6 aus 49

Anfänger - C++ von hollst - 06.09.2018 um 10:28 Uhr
Beim Lotto 6 aus 49 gibt es bekanntlich 13.983.816 mögliche (geordnete) Ziehungsergebnisse (49 über 6).

Schreibe ein Programm, das jeder dieser Möglichkeiten eine natürliche Zahl zuordnet, also

1 2 3 4 5 6 -> 1
1 2 3 4 5 7 -> 2

...
...

44 45 46 47 48 49 -> 13.983.816

Viel Spaß!

Lösungen:

vote_ok
von Parracidal (100 Punkte) - 12.10.2018 um 12:15 Uhr
Quellcode ausblenden C-Code
#include <stdio.h>
#include <iostream>
#include <fstream>
#include <math.h>

int main ()
{
  int array[6];
  int number = 0, dum=0;

  std::cout << "start" << '\n';

  std::ofstream outfile ("test.txt");

  for (int n1=1; n1<=44; n1++)
  {
    for (int n2=n1+1; n2<=45; n2++)
    {
      for (int n3=n2+1; n3<=46; n3++)
      {
        for (int n4=n3+1; n4<=47; n4++)
        {
          for (int n5=n4+1; n5<=48; n5++)
          {
            for (int n6=n5+1; n6<=49; n6++)
            {
              array[0]=n1;
              array[1]=n2;
              array[2]=n3;
              array[3]=n4;
              array[4]=n5;
              array[5]=n6;

              for (int i=0; i<6; i++)
              {
                outfile << array[i] << " ";
              }

              number++;
              outfile << " -> " << number << '\n';
            }
          }
        }
      }
    }
  }

  outfile.close();
  std::cout << "Finish";
}