newcomer
Re: Rätsel: Die zwei Wege
29. September 2006 19:58
also die millionste is 1 oder ?
war mir selbst nicht sicher...
Re: Rätsel: Die zwei Wege
30. September 2006 02:44
Ja. Bei mir ist die Millionste auch die 1.


Alles zusammen.
100 5
1.000 3
10.000 7
100.000 2
1.000.000 1
10.000.000 3
100.000.000 8
1.000.000.000 1
10.000.000.000 8
100.000.000.000 0
1.000.000.000.000 9
10.000.000.000.000 7
100.000.000.000.000 3

Ob es da ein System gibt?

Gruß Miguel
newcomer
Re: Rätsel: Die zwei Wege
30. September 2006 16:37
kann schon sein-
waer vielleicht noch interessant zu wissen welche zahl die jeweilige ziffer enthaelt.


newcomer
Re: Rätsel: Die zwei Wege
30. September 2006 17:57
eben wie
> Ist die 10^k te Ziffer tatsaechlich immer die erste Ziffer einer Zahl ?

Nochmal eine Erklaerung zu meinem Loesungsweg. Der besteht aus zwei Teilen.

TEIL 1
Ich teile die Zahlen in Bloecke ein. Zahlen mit gleicher Ziffernanzahl bilden
einen Block. 1..9, 10..99, 100..999
Zuerst ermittle ich den Zeiger auf die erste Ziffer eines Blocks. Das geht ueber
die Anzahl der Elemente der voangehenden Bloecke:

Der Block 1..9 enthaelt 9 Zahlen
Der Block 1..9 enthaelt 9 Ziffern, die letzte Ziffer ist die 9. te Stelle



Der Block 10..99 enthaelt 90 Zahlen.
Der Block 10..99 enthaelt 2*90 Ziffern, die letzte Ziffer ist die 9+180. te Stelle

Der Block 100..999 enthaelt 900 Zahlen.
Der Block 100..999 enthaelt 3*900 Ziffern, die letzte Ziffer ist die 2889 te Stelle

u.s.w

In einem neuen Block muss ich also die Anzahl der bisherigen Ziffern um eins erhoehen, damit ich auf die erste Ziffer zeige.

1.2.3.4.5.6.7.8.9...10.11.12...99........100
Nr--------------9---10------188^^189--190^

Dieser "Offset" ergibt sich aus einer Summe:
9+2*90+3*900+4*9000 ...

Klammer man hier die 9 aus, sieht man, warum sich bei diesem teilweise so seltsame Zahlen ergeben:

9*(1+20+300+4000 ...)=9*4321...=38889

Letztere Zahl kann man auch als Anweisung verstehen:
Schreibe so viele Achten an wie die Zahl angibt und am Ende eine Neun dazu.

Oder der Zusammenhang:
40000-38889=1111

TEIL 2
******
Hier habe ich nur die jeweils erste Ziffer einer neuen Zahl betrachtet.
Dass man hier auch eine mod Division ansetzen kann scheint mir einsichtig,
aber nicht die genaue Vorgehensweise.

@das_x
Wie kommst du z.B. auf diesen Zusammenhang:
9*3210 + 1 MOD 4 = 0,75
Fehlt da nicht auch die Klammer ?
(9*3210 + 1 ) MOD 4 = 0,75

9*3210 entspricht dem 10 fachen dessen was ich als Offset bezeichne.
Warum der Faktor 10 ?
Kannst du es bischen naeher erklaeren ?

und
die Definition der Mod division die ich kenne liefert den ganzzahligen Rest.
Ist eher die Frac Funktion die du verwendest oder ?



1-mal bearbeitet. Zuletzt am 30.09.06 22:28.
Re: Rätsel: Die zwei Wege
30. September 2006 21:10
Summenformeln zum Ausprobieren:
summe=sum(9*( (10^i)*(i+1) ),i=0..n) = 10^(n+1)*(n+1)-1/9*10^(n+1)+1/9
Bsp n=1 : 9*(1+20) = 200-100/9+1/9 = 200-99/9 = 200-11

10^(n+1)*(n+1)-summe = (10^(n+1)-1) / 9
im Beispiel 11
newcomer
Re: Rätsel: Die zwei Wege
30. September 2006 22:51
glaube ich hab genug von dem raetsel....
hat jemand was neues???
am dienstag bekomm ich neue aufgaben von nem freund bis dahin seid ihr dran

grüsse newcomer
Re: Rätsel: Die zwei Wege
30. September 2006 23:37
Das Raetsel mit dem Aebten wartet noch auf seine Loesung.
Kann es sein, dass die Aebte kommunizieren, indem sie aufhoeren zu beten ?
Mir wuerde es gefallen noch einen geschlossenen Ausdruck fuer das Zahlenraetsel
angeben zu koennen.
Re: Rätsel: Die zwei Wege
01. October 2006 17:13
Hallo,

@richy:
Ja mehr Klammern werden benötigt.

jetzt nochmal meine Summationsformel (Was ich schon vor ein paar Tagen geschrieben habe) mit einer Klammern mehr,

I) Zur Bestimmung der Zielzahl (DIVISION ohne REST):

z = m - { (9* Summe(von n=1;bis k-1 von; n* 10^(n-1) - 10^(n-1)) + 1 ) DIV (k - 1) }

z= Zielzahl in der die m Ziffer steckt.
k= Anzahl der Ziffern; m= gesuchte Ziffer;
Die eins wird nicht mit 9 multipliziert.

Ja die Summationformel kann auch so geschrieben werden:
(9* Summe(von n=1;bis k-1 von; (n-1)* 10^(n-1)) + 1

Erstmal eine Einschränkung:
Gilt für m wenn es als Potenzen von 10 gerschrieben werden kann.
(Für alles andere muss es noch geprüft werden)

II) Zur Bestimmung des Teils der Ziffer.

a) t = { (9* Summe(von n=1;bis k-1 von; n* 10^(n-1) - 10^(n-1) + 1 ) MOD (k - 1)

b) u * t = a

a ist die Nummer der Ziffer in der Zielzahl.
u ist Anzahl der Ziffern in der Zielzahl.


Rechnen wir schrittweise diese Formeln durch:
1) Der erste Teil der Summe

9* (n*10^(n-1)) für n=1 bis k-1; k= Anzahl der Ziffern.

Für 1000: k=4; 9*(1*1+2*10+3*100) = 9*321
Für 10000; k=5: 9*(1*1+2*10+3*100+4*1000) = 9*4321

Das entspricht deinem Offset.Das hat System.

2) zweite Teil der Summe:

9* (10^(n-1)): für n=1 bis k-1:

9* (1+ 10 + 100 + 1000) = 9* 1111

Auch hier eine periodische Zahl.

3) Offset Minus der Einserkolone:

m=10000; 9* (4321 - 1111) = 9*3210
m=100000; 9* (54321 - 11111) = 9* 43210
m=1000000; 9*543210
m=10000000; 9*6543210

usw und sofort.

Es ist auffällig das hier die Ziffern von k-1 aneinandergereiht sind.

Dazu addieren wir eine Eins und führen die Multiplikation mit 9 aus..

m=100; 9* 10 + 1 = 91
m=1000; 9* 210 + 1 = 1891
m=10000; 9* 3210 + 1 = 28891
m=100000; 9* 43210 + 1 = 388891
m=1000000; 9* 543210 + 1 = 4888891
m=10000000; 9* 6543210 + 1 = 58888891
m=100000000; 688888891

......

m= 10.000.000.000.000; 118888888888891


Ich nenne es mal Kern. Recht viel System.

Einschub: Das Ergebnis entspricht dieser Formel:
(9* Summe(von n=1;bis k-1 von; n* 10^(n-1) - 10^(n-1) + 1 )

Wir können die Summationsformel auch vereinfachen:

(9* Summe(von n=1;bis k-1 von; (n-1)* 10^(n-1) + 1 )

4) Division ohne Rest:

Summationsergebnisse geteilt durch k-1 (Interessieren tuen wir uns nur für den ganzzahligen Rest (erstmal).

m=1000;k=4 (9* 210 + 1)/3 = 1891 / 3 = 630,33333 .... -> 630
m=10000;k=5 (9* 3210 + 1)/4 = 28891 / 4 = 7222,75 -> 7222
m=100000;k=6 (9* 43210 + 1)/5 = 388891 / 5 = 77778,2 -> 77778
m=1000000;k=7 (9* 543210 + 1)/6 = 4888891 / 6 = 814815,16666 .... -> 814815
m=10000000;k=8 (9* 6543210 + 1)/7 = 58888891 / 7 = 8412698,7142 -> 8412698

.....

m= 10.000.000.000.000;k=14 118888888888891/13 =


Was wir jetzt haben ist der zweite Teil der Formel

(9* Summe(von n=1;bis k-1 von; (n-1)* 10^(n-1) + 1 ) DIV (k-1)

5) Zielzahl bestimmen:
m- (9* Summe(von n=1;bis k-1 von; (n-1)* 10^(n-1) + 1 ) DIV (k-1)

Ziehen wir von m die Ergebisse von 4) ab. So erhalten wir die Zahl in der die besagte Ziffer steckt.

m=1000; 1000 - 630 = 370
m=10000; 2777
m=100000; 22222
m=1000000; 185185

Erstes Ziel:
Wir können mit der Formel:

m- (9* Summe(von n=1;bis k-1 von; (n-1)* 10^(n-1) + 1 ) DIV (k-1)

Die Zielzahl bestimmen. Die oben beschrieben. Ist die Division ohne Rest.


6) Bestimmung der Ziffer.

Was wir jetzt haben ist die Zahl in der die besagt Ziffer steckt.

Mit dem Rest aus 4) bestimmen wir die Ziffer.

Hier erstmal die Zielzahl und der Rest gegenübergestellt.

Kurz zur Errinnerung:
b) u * t = a
a ist die Nummer der Ziffer in der Zielzahl.
u ist Anzahl der Ziffern in der Zielzahl.

a ist gesucht.

m=1000;k=4;u=3 370 Rest t=0,3333 ; u*t = 1 = a -> 3
m=10000;k=5;u=4 2777 Rest t=0,75 ; u*t = 3 = a -> 7
m=100000;k=6;u=5 22222 Rest t=0,2 ; u*t = 1 = a -> 2
m=1000000;k=7;u=6 185185 Rest t=0,16666 ; u*t = 1 = a -> 1


Bei 370 entsteht ein Rest von 0,333 das entspricht bei 3 Ziffern der 1 Ziffer. Also eine 3.

Bei 2777 entsteht ein Rest von 0,75 das entspricht bei 4 Ziffern der 3 Ziffer.
Also eine 7.

usw und sofort.


Der Rest läßt sich so errechnen:
(9* Summe(von n=1;bis k-1 von; (n-1)* 10^(n-1) + 1 ) MOD (k-1)

Ich hoffe es ist jetzt klar geworden.


Gruß Miguel

Wer klammern vermisst, der füge sie einfach ein.



6-mal bearbeitet. Zuletzt am 01.10.06 17:49.
Re: Rätsel: Die zwei Wege
01. October 2006 20:59
Hi das_x woow, das ist ja einiges ...

Ich hab mir gestern auch nochmal Gedanken gemacht das Raetsel in einer Zeile zu loesen. Ist mir evtl. gelungen, wahrscheinlich aehlich wie deine Loesung. Deine Rechnung moechte ich erst mal versuchen nachzuvollziehen.
(Sorry wenn es fuer andere vielleicht nicht mehr so interessant erscheint)
IM THREAD HIER WIRD ES EINEN TRICK GEBEN DER DIE AUFGABE SEHR VEREINFACHT.
Vielleicht ist sie dann fuer alle auch wieder ineteressant.


Auch wegen der ASCII Schreibweise hier vielleicht erstmal ein paar Konventionen:

MOD Division: Liefert ganzzahigen Rest falls Division nicht aufgeht:
************
Besipiel:
17 mod 5 = 2 (17/5=3 Rest 2)

INT Operation (trunc(x))
*************
Liefert ganzzahligen Anteil einer Zahl INT(7.123)=7

DIV Operation (trunc(a/b)) ?
*************
> Wie oben beschrieben. Ist die Division ohne Rest.
Beispiel :
13 div 4 = 3 (?)
***************************************************
Jetzt vielleicht noch eine Namensgebung fuer die unhandlichen Summen :

(1..er )BLOCK_k sei das Intervall, dass alle k-Ziffrigen Zahlen enthaelt.
Beispiel (10 er) BLOCK_2 = {10,11...99}
ANZAHL(BLOCK_2)=90

OFFSET(k) zeigt auf die letzte Ziffer eines BLOCK_k (inclusive aller Vorgaenger)
OFFSET(2)=189
OFFSET(3)=2889
EINS(k) ergaenzt OFFSET(k) zu k*10^k 2889+0111=3000
als EINS(3) = 111

FUN123(k) sei OFFSET(k)/9
FUN123(3)=2889/9=321

.... aus deinem weitere Text geht hervor:
m sei die vorgegebene Stellenzahl. Also m=1100 te. Ziffer gesucht ?
z sei die Zahl in der die gesuchte Ziffer steckt ?
***********************************************

Die Fragezeichen werden vielleicht anhand deiner Rechnung noch klarer :
Ok, gerade bemerkt , die Formel ermittelt die Ziel-ZAHL nicht Ziel-ZIFFER.
(Hatte zuvor dies als die Ziel-Ziffer-Formel angesehen)

ZIELZAHL:
********
> z=m-(9* Summe(von n=1;bis k-1 von; n* 10^(n-1) - 10^(n-1)) + 1 ) DIV (k - 1) }

Der Ausdruck ist mir immer noch bischen ein Raetsel und ich vermute er gilt "zufaellig" NUR ! fuer 10 er potenzen.
Beispiel k=2 ,
z=m-(9*(0)+1)/1, z=m-1

Ich ahne ja was die Formel aussagen soll, aber bisher erschliesst es sich mir nicht ganz :-)
Glaube deine Indizierung ist auch bischen unpraktisch.

Vielleicht gleich mit einem hoeherem Index:
k=5 , z=m-(9*(3210)+1) DIV 4

Das erinnert mich irgendwie schon eher der Idee, die ich gestern hatte.

((((((((
Aber was soll der Faktor zehn ?
9*3210 waere 9*FUN123(3)*10
und
9*FUN123(3)*10 ist gleich dem OFFSET(3)*10
9*3210=28890;
)))))))))

Wie dem auch sei. Sehe ich es richtig, dass auch Du diesen unseligen OFFSET(k)
einfach loswerden moechtest ? Und das naheliegenste ist es daher ihn einfach
von m abzuziehen.

T R I C K :
****************************************************************************
ICH ZIEHE VON DEM IN DER AUFGABENSTELLUNG GEFORDERTEN INDEX DEN OFFSET
AB!
Die Aufgabe reduziert sich dann darauf in einem BLOCK_k die m-OFFSET(k). te
Ziffer zu ermitteln ! Bzw. zunaechst die Zahl in der diese vorkommt.
****************************************************************************
... SO REDUZIERT WIRD DIE AUFGABENSTELLUNG ERHEBLICH LEICHTER.

Du ziehst aber gleich ein Funktion des OFFSETS ab. Es wird sich sicherlich noch
zeigen (am Beispiel) wie du zu dieser Funktion kommst. Bin schon gespannt :-)

Ok, nehmen wir etwas bekanntes, suchen wir die 100. te Ziffer
Die 100.te Ziffer ist die "zehner" 5 der 55. Das ist sicher.

m=100
Bei deiner Indezierung k=3 ?

Schauen wir mal:

So wie du die Formel hier angeschrieben hast funktioniert es nicht !

Entweder ist dir ein ein Schreib oder Denkfehler unterlaufen.
Was ziehst du von m=100 ab ? Einen festen Wert.
(10*OFFSET(2)+1)/2 das waeren 91/2 oder der feste Wert 45.5
100-45.5=54.5. Wenn du aufrundest ergibt sich schon die 55.
Aber das ist auch schon das einzigste m fuer das deine Formel zutrifft.
Kann sein, dass sie fuer alle 10 er Potenzen sogar stimmt.
Aber wie sieht es mit 30-45.5 zum Beispiel aus ? :-)

Aber wenn wir schon so weit sind duerfte der Teil der Aufgabe doch mittels der reduzierten Aufgabenstellung einfach zu loesen sein:

Am Beispiel m=100:
Ich nehme als Index ki=2 wegen 10^(2-1)=10, der Startwert des Blocks.
Ist mir smphatischer. Also k=Int(log(m))

Vorbemerkung: Die Aufgabe in welchem BLOCK_n die Ziffer oder Zahl zu suchen ist
scheint mir noch nicht zufriedenstellend geloest. Aber fuer m=100 wissen wir,
dass die Loesung,Zahl,Ziffer im (10 er) BLOCK_2 liegt.
Wir reduzieren jetzt also alles auf den 10 er Block BLOCK_2
OFFSET(1)=9
Wegen der MOD Divison moechte ich jetzt lieber die erste Ziffer in einem Block
mit Null indizieren. Suchen wir die Zahl fuer m=10, klar das waere 10.
Die eind der Zehn soll die neue 0.te Ziffer im (10 er) Block_2 sein

Ich nehme also zunaechst den neuen Zeiger m*= m-(OFFSET(1)+1), m*=m-10
Die erste Zahl im Block_2 ist 10, allgemein 10^(k-1)

Mein m*ist fuer m=100 ist nun 90. Auf welche Zahl zeigt mein Zeiger bei der Stelle 90 im 10 er Block, beginnend mit Index 0 ?
Die Startzahl ist 10 zu der ich alle 2 Schritte eine 1 dazuaddiere.
z=10+ (m*) div 2
Test m=100, m*=90
Z=10+90 div 2 =55

Ist mir bekannt in welchem Block_k ich suchen muss, lautet die Zahl auf die
der Zeiger m steht somit:
z=10^(k-1) + (m-OFFSET(k-1)-1) div k
(BTW: Fuer den OFFSET(k) hab ich sogar schon eine geschlossene Formel ohne Summe hergeleitet)

Guggen wir mal bei der 1000 ten Stelle. Anhand der Eigenschaften der Summe von Potenzen duerfte gelten K=3

z=10^(3-1) + (1000-OFFSET(2)-1) div 3
z=100 + (1000-189-1) div 3
z=100 + (1000-190) div 3
100 + 810 div 3 = 370
oder weiter m=1001 respektive m*=811
100 + 811 div 3 = 370
oder weiter m=1002 respektive m*=812
100 + 812 div 3 = 370

und so weiter ..
100 + 813 div 3 = 371
100 + 814 div 3 = 371
100 + 815 div 3 = 371

allgemein:
Startzahl des Blocks + (neuer Index m*) div (Anzahl Ziffern pro Zahl)
Den neuen Index erhalte ich indem ich einfach den Offse+1 vom alten Index m abziehe. Voila :-)

@das_x unten wird es bei dir ja noch recht interessant.
Ich mach an der Stelle morgen weiter
ciao

BTW:
Warum der relativ grosse Aufwand fuer diese Aufgabe ?
INTEGER Funktionen ergeben meist selbstaehnliche recht huebsche Grafiken.
Die folgen natuerlich noch, wenn alles im Griff ist :-)



13-mal bearbeitet. Zuletzt am 02.10.06 01:35.
Re: Rätsel: Die zwei Wege
02. October 2006 01:19
Zur Veranschaulichung und Nachzaehlen :-)
m = 100. te Stelle gesucht

(1=Nr 01) 1 2 3 4 5 6 7 8 9 ..... OFFSET(1)=9

(1=Nr 10) 10 11 12 13 14 15 16 17 18 19 ..... hier sind auf der 9 bei 29
(2=Nr 30) 20 21 22 23 24 25 26 27 28 29 ..... hier sind auf der 9 bei 49
.....
(5=Nr 90) 50 51 52 53 54 55 56 57 58 59 ..... 55 sind Nr 100 und 101
(6=Nr110) 60 61 62 63 64 65 66 67 68 69 .....

u.s.w

Verhaeltnisse wenn wir den (Offset+1) Abziehen
Dann muessen wir nur noch EINEN Block betrachten !

10 + m* div 2
10 + 0,0 1,1 2,2 3,3 4,4 ..
(1=Nr 00) 10 11 12 13 14 15 16 17 18 19 ..... hier sind auf der 9 bei 19
(2=Nr 20) 20 21 22 23 24 25 26 27 28 29 ..... hier sind auf der 9 bei 39
(3=Nr 40) 30 31 32 33 34 35 36 37 38 39 ..... hier sind auf der 9 bei 59

Wir suchen jetzt statt m=100 die Nummer m*=90
(5=Nr 80) 50 51 52 53 54 55 56 57 58 59 ..... 55 sind Nr 90 und 91