Formel - Kopfzerbrechen

Übersicht Sonstiges Smalltalk

Neue Antwort erstellen

Geeecko

Betreff: Formel - Kopfzerbrechen

BeitragSo, Okt 28, 2007 22:39
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich habe eben einbischen rumgetippat, im Taschenrechner, weil ich auf der Suche nach eine Kompri. Methode war. Unwichtig was es ist. Dabei ist zufälliger Weise rausgekommen:
Nimm dir eine Zahl.
"Radiere" die letzte Ziffer weg: 344 -> 34
teile diese zahl durch 2. Teile jetzt deine ausgedachte Zahl durch das ergebnis, was bei der division rausgekommen ist.
Das ergebnis hat vorne IMMER eine 2. Wer mir eine Lösung oder ein gegenbeispiel an den Kopf wirft, bekommt einen Keks.
Ich versteh einfach nicht, wieso das funktioniert... :/
Es kommt immer 20 oder 2 oder so raus. Und halt Nachkommerstellen. Aber ich check nicht, wieso.
....

mahe

BeitragSo, Okt 28, 2007 22:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Das ist schon irgendwie logisch.

Du dividierst durch zwei und dann die Anfangszahl durch das Ergebnis der Division. Das muss natürlich zwei sein.
Die Kommastellen und die 20 statt der 2 ergeben sich durch das "wegradieren".
ʇɹǝıdɯnɹɹoʞ ɹnʇɐuƃıs - ǝpoɥʇǝɯ-ɹoɹɹıɯ ɹǝp uı ,ɹoɹɹǝ,

TheProgrammer

BeitragSo, Okt 28, 2007 22:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Eigentlich ganz einfach: Wenn du bei der ausgedachten Zahl die letzte Ziffer wegnimmst, ergibt sich grob ein Zehntel der Zahl. Durch 2 schließlich ein Zwanzigstel. Jetzt rechne mal eine Zahl durch ein Zwanzigstel der Zahl. Also:

Code: [AUSKLAPPEN]
20x
----
x


Kommt 20 raus.. ^^

Mfg
TheProgrammer
aktuelles Projekt: The last day of human being

darth

BeitragSo, Okt 28, 2007 22:48
Antworten mit Zitat
Benutzer-Profile anzeigen
...
k = zahl
k/10 = zahl ohne letzte stelle
(k/10)/2 = k/20 = zahl ohne letzte stelle halbiert
und nun:
k/((k/10)/2)=k/(k/20) = 20 // k kürzt sich weg
beweis genug?
Diese Signatur ist leer.

aMul

Sieger des Minimalist Compo 01/13

BeitragSo, Okt 28, 2007 22:52
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
x = 344
y = [x / 10] / 2
  = [x / 20]
->
[x / y] = 20

Habs nicht ausprobiert, aber ich glaube so stimmt das...
(die eckigen Klammern bewirken die Streichung der Nachkommastellen)

EDIT:
Wow... alle gleichzeitig das selbe...
Panic Pong - ultimate action mashup of Pong and Breakout <= aktives Spiele-Projekt, Downloads mit vielen bunten Farben!
advASCIIdraw - the advanced ASCII art program <= aktives nicht-Spiele-Projekt, must-have für ASCII/roguelike/dungeon-crawler fans!
Alter BB-Kram: ThroughTheAsteroidBelt - mit Quelltext! | RGB-Palette in 32²-Textur / Farbige Beleuchtung mit Dot3 | Stereoskopie in Blitz3D | Teleport-Animation Screensaver
 

E. Urbach

ehemals "Basicprogger"

BeitragMo, Okt 29, 2007 11:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:
Das ergebnis hat vorne IMMER eine 2 [...] Wer mir eine Lösung oder ein gegenbeispiel an den Kopf wirft, bekommt einen Keks.

0-9, 15-19.

Gegenbeweis:
Code: [AUSKLAPPEN]
x e N*
y = x / (int(x / 10) / 2)

1. Möglichkeit: Undefiniertes Ergebnis
Code: [AUSKLAPPEN]
int(x / 10) / 2 = 0
int(x / 10) = 0
Gilt für: x < 10

Somit ist der Term undefiniert, wenn x < 10 gilt.
2. Möglichkeit: Zahl hat vorne keine 2.
Code: [AUSKLAPPEN]
n e N
m e R | m >= 0 | m < 10^n
x / (int(x / 10) / 2) = 2 * 10^n + m
x / int(x / 10) = 10^n + m/2

Gesucht sind also alle Zahlen, für die die Gleichung nicht gilt.
m/2 kann für n=1 nur kleiner als 5 sein.
Teilbeweis #1: x / int(x / 10) ist immer kleiner als 20.
Code: [AUSKLAPPEN]
x / int(x / 10) < 20
(x / 20) / int(x / 10) < 1

Dieser Bruch ist genau dann größer oder gleich 1, wenn der Zähler größer oder gleich dem Nenner ist.
Code: [AUSKLAPPEN]
x / 20 >= int(x / 10)

x / 10 ist immer größer als x / 20 und int(x / 10) verändert daran nichts. Da wir nur die natürlichen Zahlen ohne die Null betrachten, ist die Zahl Null somit ausgeschlossen und braucht nicht beachtet zu werden.
Die Vermutung, dass x / int(x / 10) immer kleiner als 20 ist, ist somit bewiesen.

Teilbeweis #2: n = 0 oder n = 1
Da x / int(x / 10) immer kleiner als 20 ist, gilt das auch für 10^n + m/2.
n darf somit nur die Werte 0 und 1 annehmen.
Der Beweis reduziert sich jetzt auf zwei Teilbeweise: Einmal für n=0 und einmal für n=1:
Code: [AUSKLAPPEN]
x / int(x / 10) = 1 + m/2
oder
x / int(x / 10) = 10 + m/2

Dass die Aussage für n=0 falsch ist, lässt sich leicht durch ein Gegenbeispiel beweisen:
Code: [AUSKLAPPEN]
x = 10
10 / int(10 / 10) = 1 + m/2
10 = 1 + m/2
9 = m/2

m/2 erreicht niemals den Wert 9, weil m für n=0 nur kleiner als 1 sein kann und m/2 somit nur kleiner als 0.5 sein kann.
Die Aussage gilt demnach nicht mehr für n=0.
Bei n=1 sieht die Sache nicht anders aus:
Code: [AUSKLAPPEN]
x / int(x / 10) = 10 + m/2

Um das Gegenteil zu beweisen:
Code: [AUSKLAPPEN]
x / int(x / 10) < 15

Es reicht ein Gegenbeispiel:
Code: [AUSKLAPPEN]
x = 15
15 / int(15 / 10) < 15
15 < 15

Die Aussage ist falsch, damit wäre das Gegenteil bewiesen.
Für x = 16, 17, 18 und 19 ist die Aussage ebenfalls falsch.
Deine Vermutung war falsch und die Beweise von aMul und darth gamer sind nicht korrekt.
  • Zuletzt bearbeitet von E. Urbach am Mo, Okt 29, 2007 14:10, insgesamt 2-mal bearbeitet

hamZta

Administrator

BeitragMo, Okt 29, 2007 12:00
Antworten mit Zitat
Benutzer-Profile anzeigen
In your face!

Sorry, konnte ich mir nicht verkneifen.

Schön ausgeführter Beweis, Basicprogger, mein Professor würde dich loben Wink

hamZta
Blog.

Neue Antwort erstellen


Übersicht Sonstiges Smalltalk

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group