Esempio n. 1
0
        private static void startCheckZahlen(int anzahlThreads)
        {
            int parts = 100 / anzahlThreads;

            Thread[] tr = new Thread[anzahlThreads];
            for (int i = 0; i < anzahlThreads; i++)
            {
                int a = i * parts;
                if (a == 0)
                {
                    a = 1;
                }
                int b = a + parts;

                Console.WriteLine($"Thread {i} arbeitet von {a} bis ausschließlich {b}");
                AlgebraWorker w = new AlgebraWorker();
                Thread        t = new Thread(() => w.doMyChecking(a, b))
                {
                    Name = $"t{i}"
                };
                tr[i] = t;
                t.Start();
            }
            for (int i = 0; i < anzahlThreads; i++)
            {
                tr[i].Join();
            }

            Console.WriteLine("Fertig");
        }
Esempio n. 2
0
        public static void Main(string[] args)
        {
            //a)
            Console.WriteLine(AlgebraWorker.checkZahl(12)); //Abundant
            Console.WriteLine(AlgebraWorker.checkZahl(6));  //Vollkommen
            Console.WriteLine(AlgebraWorker.checkZahl(2));  //defizit

            //b)
            startCheckZahlen(4);
            Console.WriteLine("Set-A");
            DisplaySet(set_A);
            Console.WriteLine("Set-V");
            DisplaySet(set_V);
            Console.WriteLine("Set-D");
            DisplaySet(set_D);

            //c)
            var menge = set_A.Where(n => n % 10 == 0)
                        .Select(n => new { zahl = n, summe = AlgebraWorker.QuersummeBerechnen(n) });

            foreach (var pair in menge)
            {
                string str = $"Zahl = {pair.zahl}, mit Quersumme {pair.summe}";
                Console.WriteLine(str);
            }
        }