C# :: Aufgabe #264

3 Lösungen Lösungen öffentlich

Summe alle Teiler einer positven Ganzzahl

Anfänger - C# von hollst - 18.06.2019 um 20:49 Uhr
Man schreibe eine Funktion SIGMA(n) mit n > 0 und ganzzahlig, wobei der Funktionswert sich
aus der Summe aller ganzzahligen, positven Teiler von n ergibt.

Beispiele (Zahl; Teiler; Funktionswert);
1; 1; 1
2; 1, 2; 3
4; 1, 2, 4; 7
5; 1, 5; 6
...
12; 1, 2, 3, 4, 6, 12; 28
...
100; 1, 2, 4, 5, 10, 20, 25, 50, 100; 217

Für 0 < n <= 200 sollte sich der beigefügte Pinplot ergeben.

Viel Spaß!

Lösungen:

vote_ok
von bebbe80 (300 Punkte) - 22.06.2019 um 20:55 Uhr
Quellcode ausblenden C#-Code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Trainc
{
    class Program
    {
        public static int Sigma(int n)
        {
           int summe = 0;
           
          
            for (int i = 1; i <= n; i++)
            { 
                if((n % i) == 0)
                {
                    summe += i;                 
                }
            }
            return summe;
        }
        static void Main(string[] args)
        {
            Console.WriteLine("Geben sie eine Zahl ein");
            int zahl = int.Parse(Console.ReadLine());
            Console.WriteLine(Sigma(zahl));
            Console.ReadLine();
        }
    }
}
vote_ok
von t.wi (650 Punkte) - 25.06.2019 um 11:31 Uhr
Quellcode ausblenden C#-Code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace teilersumme
{
    class Program
    {
        static void Main(string[] args)
        {
            List<int> sumList = new List<int>();
            for(int n= 1; n <=200;n++)
            {
                int sum = 0;
                for(int t = 1;t <=n;t++)
                {
                    if(n % t==0)
                    {
                        sum += t;
                    }
                }
                sumList.Add(sum);
            }
            int i = 0;
            while(i != 200)
            {
                Console.WriteLine(sumList[i]);
                i++;
            }
            Console.ReadKey();
        }
    }
}
vote_ok
von hollst (11230 Punkte) - 02.08.2019 um 20:35 Uhr
Quellcode ausblenden C#-Code
using static System.Console;
using System.Collections.Generic;

namespace Aufgabe_264
{
/*
    Man schreibe eine Funktion SIGMA(n) mit n > 0 und ganzzahlig, wobei der Funktionswert sich
    aus der Summe aller ganzzahligen, positven Teiler von n ergibt.

    Beispiele (Zahl; Teiler; Funktionswert);
    1; 1; 1
    2; 1, 2; 3
    4; 1, 2, 4; 7
    5; 1, 5; 6
    ...
    12; 1, 2, 3, 4, 6, 12; 28
    ...
    100; 1, 2, 4, 5, 10, 20, 25, 50, 100; 217
*/
    static class Program
    {
        static void Main()
        {
            int nmax = 100;
            for (var i = 1; i <= nmax; i++)
            {
                int sum;
                int[] temp = i.result(out sum);
                Write($"anzahl teiler: {temp.Length, 3}  i: {i,3} {sum,4} [");
                for (var j = 0; j < temp.Length; j++)
                    Write($"{temp[j],4}");
                WriteLine("]");
            }
            ReadKey();
        }

        static int[] result(this int n, out int sum)
        {
            List<int> erg = new List<int>();
            erg.Add(1);
            sum = 1;

            for (var i = 2; i <= n / 2; i++)
                if (n % i == 0)
                {
                    sum += i;
                    erg.Add(i);
                }
            if (n > 1)
            {
                erg.Add(n);
                sum += n;
            }
            return erg.ToArray();
        }
    }
}