C# :: Aufgabe #264

4 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 (11380 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();
        }
    }
}
1x
vote_ok
von Exception (4580 Punkte) - 30.08.2019 um 18:17 Uhr
Quellcode ausblenden C#-Code
using System;
using System.Collections.Generic;

class MainClass 
{
  public static List<int> sigma(int n)
  {
    if(n < 1)
    {
      throw new Exception("n is less then 1.");
    }

    List<int> values = new List<int>();

    for(int i = 1; i <= n; i++)
    {
      if(n % i == 0)
      {
        values.Add(i);
      }
    }

    return values;
  }

  public static void Main (string[] args) 
  {
    try
    {
      for(int i = 1; i <= 200; i++)
      {
        List<int> values = MainClass.sigma(i);
        string result = string.Join(",", values.ToArray());
        Console.WriteLine("{0:000}: {1}", i, result);
      }
    }
    catch(Exception ex)
    {
      Console.WriteLine(ex.Message);
    }   
  }
}

Konsolenausgabe:

001: 1
002: 1,2
003: 1,3
004: 1,2,4
005: 1,5
006: 1,2,3,6
007: 1,7
008: 1,2,4,8
009: 1,3,9
010: 1,2,5,10
011: 1,11
012: 1,2,3,4,6,12
013: 1,13
014: 1,2,7,14
015: 1,3,5,15
016: 1,2,4,8,16
017: 1,17
018: 1,2,3,6,9,18
019: 1,19
020: 1,2,4,5,10,20
021: 1,3,7,21
022: 1,2,11,22
023: 1,23
024: 1,2,3,4,6,8,12,24
025: 1,5,25
026: 1,2,13,26
027: 1,3,9,27
028: 1,2,4,7,14,28
029: 1,29
030: 1,2,3,5,6,10,15,30
031: 1,31
032: 1,2,4,8,16,32
033: 1,3,11,33
034: 1,2,17,34
035: 1,5,7,35
036: 1,2,3,4,6,9,12,18,36
037: 1,37
038: 1,2,19,38
039: 1,3,13,39
040: 1,2,4,5,8,10,20,40
041: 1,41
042: 1,2,3,6,7,14,21,42
043: 1,43
044: 1,2,4,11,22,44
045: 1,3,5,9,15,45
046: 1,2,23,46
047: 1,47
048: 1,2,3,4,6,8,12,16,24,48
049: 1,7,49
050: 1,2,5,10,25,50
051: 1,3,17,51
052: 1,2,4,13,26,52
053: 1,53
054: 1,2,3,6,9,18,27,54
055: 1,5,11,55
056: 1,2,4,7,8,14,28,56
057: 1,3,19,57
058: 1,2,29,58
059: 1,59
060: 1,2,3,4,5,6,10,12,15,20,30,60
061: 1,61
062: 1,2,31,62
063: 1,3,7,9,21,63
064: 1,2,4,8,16,32,64
065: 1,5,13,65
066: 1,2,3,6,11,22,33,66
067: 1,67
068: 1,2,4,17,34,68
069: 1,3,23,69
070: 1,2,5,7,10,14,35,70
071: 1,71
072: 1,2,3,4,6,8,9,12,18,24,36,72
073: 1,73
074: 1,2,37,74
075: 1,3,5,15,25,75
076: 1,2,4,19,38,76
077: 1,7,11,77
078: 1,2,3,6,13,26,39,78
079: 1,79
080: 1,2,4,5,8,10,16,20,40,80
081: 1,3,9,27,81
082: 1,2,41,82
083: 1,83
084: 1,2,3,4,6,7,12,14,21,28,42,84
085: 1,5,17,85
086: 1,2,43,86
087: 1,3,29,87
088: 1,2,4,8,11,22,44,88
089: 1,89
090: 1,2,3,5,6,9,10,15,18,30,45,90
091: 1,7,13,91
092: 1,2,4,23,46,92
093: 1,3,31,93
094: 1,2,47,94
095: 1,5,19,95
096: 1,2,3,4,6,8,12,16,24,32,48,96
097: 1,97
098: 1,2,7,14,49,98
099: 1,3,9,11,33,99
100: 1,2,4,5,10,20,25,50,100
101: 1,101
102: 1,2,3,6,17,34,51,102
103: 1,103
104: 1,2,4,8,13,26,52,104
105: 1,3,5,7,15,21,35,105
106: 1,2,53,106
107: 1,107
108: 1,2,3,4,6,9,12,18,27,36,54,108
109: 1,109
110: 1,2,5,10,11,22,55,110
111: 1,3,37,111
112: 1,2,4,7,8,14,16,28,56,112
113: 1,113
114: 1,2,3,6,19,38,57,114
115: 1,5,23,115
116: 1,2,4,29,58,116
117: 1,3,9,13,39,117
118: 1,2,59,118
119: 1,7,17,119
120: 1,2,3,4,5,6,8,10,12,15,20,24,30,40,60,120
121: 1,11,121
122: 1,2,61,122
123: 1,3,41,123
124: 1,2,4,31,62,124
125: 1,5,25,125
126: 1,2,3,6,7,9,14,18,21,42,63,126
127: 1,127
128: 1,2,4,8,16,32,64,128
129: 1,3,43,129
130: 1,2,5,10,13,26,65,130
131: 1,131
132: 1,2,3,4,6,11,12,22,33,44,66,132
133: 1,7,19,133
134: 1,2,67,134
135: 1,3,5,9,15,27,45,135
136: 1,2,4,8,17,34,68,136
137: 1,137
138: 1,2,3,6,23,46,69,138
139: 1,139
140: 1,2,4,5,7,10,14,20,28,35,70,140
141: 1,3,47,141
142: 1,2,71,142
143: 1,11,13,143
144: 1,2,3,4,6,8,9,12,16,18,24,36,48,72,144
145: 1,5,29,145
146: 1,2,73,146
147: 1,3,7,21,49,147
148: 1,2,4,37,74,148
149: 1,149
150: 1,2,3,5,6,10,15,25,30,50,75,150
151: 1,151
152: 1,2,4,8,19,38,76,152
153: 1,3,9,17,51,153
154: 1,2,7,11,14,22,77,154
155: 1,5,31,155
156: 1,2,3,4,6,12,13,26,39,52,78,156
157: 1,157
158: 1,2,79,158
159: 1,3,53,159
160: 1,2,4,5,8,10,16,20,32,40,80,160
161: 1,7,23,161
162: 1,2,3,6,9,18,27,54,81,162
163: 1,163
164: 1,2,4,41,82,164
165: 1,3,5,11,15,33,55,165
166: 1,2,83,166
167: 1,167
168: 1,2,3,4,6,7,8,12,14,21,24,28,42,56,84,168
169: 1,13,169
170: 1,2,5,10,17,34,85,170
171: 1,3,9,19,57,171
172: 1,2,4,43,86,172
173: 1,173
174: 1,2,3,6,29,58,87,174
175: 1,5,7,25,35,175
176: 1,2,4,8,11,16,22,44,88,176
177: 1,3,59,177
178: 1,2,89,178
179: 1,179
180: 1,2,3,4,5,6,9,10,12,15,18,20,30,36,45,60,90,180
181: 1,181
182: 1,2,7,13,14,26,91,182
183: 1,3,61,183
184: 1,2,4,8,23,46,92,184
185: 1,5,37,185
186: 1,2,3,6,31,62,93,186
187: 1,11,17,187
188: 1,2,4,47,94,188
189: 1,3,7,9,21,27,63,189
190: 1,2,5,10,19,38,95,190
191: 1,191
192: 1,2,3,4,6,8,12,16,24,32,48,64,96,192
193: 1,193
194: 1,2,97,194
195: 1,3,5,13,15,39,65,195
196: 1,2,4,7,14,28,49,98,196
197: 1,197
198: 1,2,3,6,9,11,18,22,33,66,99,198
199: 1,199
200: 1,2,4,5,8,10,20,25,40,50,100,200