Schriftlich berechenbar?
Ermitteln sie die kleinste ganze Zahl z, für die sowohl z als auch die Quersumme Q(z) durch 2, durch 3, durch 4 und durch 5 teilbar sind.
2 Antworten
Ein Gleichungssystem, die Zahl der Variablen weißt du noch nicht, aber es dürfte etwa so aussehen:
z = a + b * 10 + c * 100 + d * 1000 + ...;
Q(z) = a + b + c + d + ...;
Q(z) = 2 * l = 3 * m = 4 * n = 5 * o;
z = 2 * h = 3 * i = 4 * j = 5 * k;
Und das löst du dann nach a, b, c, d, ... und berechnest damit z.
"z = a + b * 10 + c * 100 + d * 1000 + ...;
Q(z) = a + b + c + d + ...;" Und wann hört es auf ?
"Ah ja als Zusatzbedingung: a, b, c, d, ... müssen Ziffern sein und mindestens eine muss ungleich 0 sein." Woher soll ich wissen, welche Ziffern da rein müssen ? Hatten das Thema noch nicht richtig und deswegen verstehe ich da fast nichts.
Nur noch eine Frage. Ich habe die Aufgabe gefunden, die mithilfe eines Programms gerechnet wurde. Wofür steht das k ? Brauche ich das ?
(Von LUKEars, https://www.gutefrage.net/frage/kennt-jemand-das-ergebnis-2)
#include <stdio.h>
int main() {
for (int k=1; k<10*1000*1000; k++) {
unsigned z = k*60U;
int sum; for (sum=0; z>0; z/=10) sum+=z%10;
if (sum%60==0) { printf("k=%u z=%u\n",k,k*60); break; }
}
return 0;
}
Das k ist deine Zählvariable, die brauchst du natürlich, wird ja hier sogar mit gerechnet und auch wenn nicht bräuchgtest du das um den Lopp so oft auszuführen, wie du das eben möchtest.
Dein Programm ist einfach eine Brute-Force-Programm, das allerdings ungünstigerweise zuerst versucht, das Kriterium zu erfüllen, das z durch 60 teilbar ist, was zu einer Menge unnötiger Iterationen am Anfang führt, da das erst bei größeren zahlen der Fall ist.
Ermitteln sie die kleinste ganze Zahl z, für die sowohl z als auch die Quersumme Q(z) durch 2, durch 3 und durch 5 teilbar sind. Kannst du mir damit bitte helfen?
Ich verstehe nicht so ganz wie man das rechnen soll, kann man das auch leichter rechnen mit einem Programm oder sowas?
Der Fargensteller hatte eine ähnliche Frage verlinkt, in der die Lösung einfach gebruteforced wurde:
https://www.gutefrage.net/frage/kennt-jemand-das-ergebnis-2
Das ist wohl auch noch praktikabel für so kleine Zahlen, würde erst bei großen Zahlen ineffizienter werden, als meine Lösung, und ist definitiv schneller implementiert.
Ich verstehe es immernoch nicht 😭 kannst du mir vielleicht die Aufgabe lösen?
Das ist offenbar C, da bräuchte man aber einen Compiler. Kann man auch in jacvascript schreiben, das würde im Browser laufen, oder in Python, da bräuchte man dann nur einen Interpreter.
Man sollte aber programmieren können, sonst wird das eher nichts. Außer jemand schreibt dir irgendetwas für eine leicht bedienbare Programmiersprache (kannst ja mal unter der verlinkten Antwort nachfrage).
Mathe-Olympiade!
Ich verstehe noch nicht so ganz. Woher kommen die 10, 100, 1000 und die Variablen ?