Diverses / Kleines Programmierer-Quiz
![]() |
![]() |
➪ Die folgenden Beispiele berechnen die Summe aller Zahlen von 1 bis 100, die ohne Rest durch 9 teilbar sind. Das jeweilige Ergebnis ist der Wert 594. Welchen Ansatz finden Sie auf Anhieb nachvollziehbar? In welcher Sprache ist der Code geschrieben, der zum korrekten Ablauf noch kompiliert bzw. interpretiert werden muss?
1)
sum( (1 to 100)[. mod 9=0] )
Alternativ:
(1 to 100)[. mod 9=0] => sum()
2)
sum=0
for i in range( 1 , 101 ):
if i % 9 == 0:
sum +=i
print(sum)
3)
Module Module1
Sub Main()
Dim liste As New List(Of Integer)
For i As Integer = 1 To 100
liste.Add(i)
Next
Dim zahlen9 = From x In liste
Where x Mod 9 = 0
Select x
Console.WriteLine(zahlen9.Sum())
End Sub
End Module
4)
print(sum(filter(lambda w: w % 9 == 0, range(1,101))))
5)
void main()
{
int sum = 0;
for (int i = 1; i < 101; i++)
{
if (i % 9 == 0) sum += i;
}
printf("%i\n", sum);
}
6)
using System;
using System.Collections.Generic;
using System.Linq;
namespace ConsoleApp11
{
class Program
{
static void Main(string[] args)
{
Func<List<int>> fSummeZahlen = () => {
var liste = new List<int>();
for (int i = 1; i < 101; i++)
{
if (i % 9 == 0) liste.Add(i);
}
return liste;
};
Console.WriteLine(fSummeZahlen().Sum());
}
}
}
7)
public class Haupt {
public static void main(String[] args) {
List<Integer> liste = new ArrayList<Integer>() {{
for (int i = 1; i < 101; i++) {if(i % 9 ==0) add(i); }
}};
System.out.println(liste.stream().reduce((x, y)->x+y).get());
}
}
8)
'Datei: zahlen9_sum.vbs
dim sum, i
sum=0
for i = 1 to 100
if i mod 9 = 0 then
sum = sum + i
end if
next
wscript.echo sum
'Aufruf von Eingabeaufforderung:
C:\pfad_zur_datei>cscript zahlen9_sum.vbs
9)
interface IMeinInterface {
default int get_9_Summe_1_100() {
int sum=0;
for(int i=1; i<101;i++) { if(i % 9 ==0) sum +=i; }
return sum;
}
}
public class Haupt {
public static void main(String[] args) {
IMeinInterface x = new IMeinInterface() {};
System.out.println(x.get_9_Summe_1_100());
}
}
10)
public class Haupt {
public static void main(String[] args) {
List<Integer> liste = new ArrayList<Integer>() {{
for (int i = 1; i < 101; i++) {if(i % 9 ==0) add(i); }
} };
System.out.println(liste.stream().mapToInt(Integer::intValue).sum());
}
}
11)
using System;
namespace ConsoleApp12
{
class Program
{
static int summeZahlen(int wert1, int wert2, int sum)
{
if (wert1 % 9 == 0) sum += wert1;
if (wert1 <= wert2)
{
return summeZahlen(wert1 + 1, wert2, sum);
}
else return sum;
}
static void Main(string[] args)
{
Console.WriteLine(summeZahlen(1, 100, 0));
}
}
}
12)
namespace NSMain;
function sum_figures(firstvalue: Int, lastvalue: Int, recursive_sum: Int): Int
ensures _return_ >= 0; {
if( firstvalue<lastvalue )
{
var sum: Int = recursive_sum + firstvalue;
return sum_figures(firstvalue + 9, lastvalue, sum);
}
else
{
return recursive_sum;
}
}
entrypoint function main(): Int {
return sum_figures(0, 100, 0);
}
13)
(1..100 |% {if($_ % 9 -eq 0){$_}} | Measure-Object -Sum).Sum
14)
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="2.0">
<xsl:output method="text"/>
<xsl:template match="/">
<xsl:value-of select="sum((1 to 100)[. mod 9 = 0])"/>
</xsl:template>
</xsl:stylesheet>
15)
#include <iostream>
#include <numeric>
#include <list>
using namespace std;
void main()
{
std::list<int> liste;
for (int i = 1; i < 101; i++) liste.push_back(i);
liste.remove_if(
[](const int& x)
{if (x % 9 != 0) return true; else return false; }
);
cout << std::accumulate(liste.begin(), liste.end(), 0) << endl;
}
wg / 24. März 2020
Fragen? Anmerkungen? Tipps?
Bitte nehmen Sie Kontakt zu mir auf.
ᐃ Diverses
V.i.S.d.P.: Wilfried Grupe * Klus 6 * 37643 Negenborn
☎ 0151. 750 360 61 * eMail: info10@wilfried-grupe.de