Log in

View Full Version : crypto thought crackme #6


mike
May 20th, 2006, 11:58
Not quite crypto, but still a fun little puzzle. Start with s=2^n. Then pick the first fraction f in the list such that sf is an integer. Repeat until there is no such fraction. What's the result?

Code:

33 5 13 1 2 10 7
--, --, --, -, -, --, -
20 11 10 5 3 7 2

Admiral
May 20th, 2006, 14:42
Hey

I'm not sure if I totally get this game. My first answer was n=0, 'cause the list contains no integers. That seems a little silly, so I guess we have to start at n=1 (which forces us to pick the last fraction).

The only problem is that you've missed out the 'inductive step'. What exactly does 'repeat' mean? if it means 'increment n' as I'd have guessed then we may be here for a long time, as (7/2)*2^n = 7*2^(n-1) which is integral for every n >= 1.

Maybe somebody can clear this up for me.

Regards
Admiral

mike
May 20th, 2006, 17:29
The assignment should be s[I]=s[i-1]*f[i-1] at each step, where f[i-1] is the first fraction in the list such that s[i-1]*f[i-1] is an integer.

Assume n>4 for now. So the first steps go
s=2^n, f=7/2
s=7*2^{n-1}, f=10/7
s=5*2^n, f=33/20
s=3*11*2^{n-2}, f=5/11
s=3*5*2^{n-2}, f=33/20
s=3^2*11*2^{n-4}, f=5/11
s=3^2*5*2^{n-4}, etc.

P.S. If you have an answer, remember to ROT13 so others can still play!

LLXX
May 20th, 2006, 20:05
Numbers don't rot13 well... let's use base64 to encode the solution instead
Code:
QmVnaW4gd2l0aCAyXjEgPSAyLg0KDQoyICogNy8yID0gNy4NCjcgKiAxMC83ID0gMTAuDQoxMCAqIDEz
LzEwID0gMTMuDQoNCihjYW5ub3QgcHJvY2VlZCkNCg0KMl4yID0gNC4NCjQgKiA3LzIgPSAxNC4NCjE0
ICogMTAvNyA9IDIwLg0KMjAgKiAzMy8yMCA9IDMzLg0KMzMgKiA1LzExID0gMTUuDQoxNSAqIDIvMyA9
IDEwLg0KMTAgKiAxMy8xMCA9IDEzLg0KDQooY2Fubm90IHByb2NlZWQpDQoNCjJeMyA9IDguDQo4ICog
Ny8yID0gMjguDQoyOCAqIDEwLzcgPSA0MC4NCjQwICogMzMvMjAgPSA2Ni4NCjY2ICogNS8xMSA9IDMw
DQozMCAqIDEzLzEwID0gMzkuDQozOSAqIDIvMyA9IDI2Lg0KMjYgKiA3LzIgPSA5MS4NCjkxICogMTAv
NyA9IDEzMC4NCjEzMCAqIDEzLzEwID0gMTY5Lg0KDQooY2Fubm90IHByb2NlZWQpDQoNCg==
I think that's the first part of the solution...

wtbw
May 20th, 2006, 20:23
I'll follow LLXX's example...

Code:
SWYgd2UgYXNzdW1lIG4gaXMgaW5maW5pdGUsIHRoZW4gdGhlIHNlcXVlbmNlIGlzIGluZmluaXRlIChn
b2luZyBiZXR3ZWVuIDUvMTEgYW5kIDMzLzIwIGFzIGluIHlvdXIgbGFzdCBzdGVwcykuDQoNCkxldCdz
IHRyeSBzb21lIGV4YW1wbGVzOg0KDQpuPTE6DQoNCnM9MiwgZj03LzINCnM9NywgZj0xMC83DQpzPTUq
MiwgZj0xMy8xMA0Kcz0xMw0KDQpuPTI6DQoNCnM9Ml5uLCBmPTcvMg0Kcz03KjJee24tMX0sIGY9MTAv
Nw0Kcz01KjJebiwgZj0zMy8yMCANCnM9MyoxMSoyXntuLTJ9DQpzPTMqMTEsIGY9NS8xMQ0Kcz0zKjUs
IGY9MS81DQpzPTMsIGY9Mi8zDQpzPTIsIGY9Ny8yDQpzPTcsIGY9MTAvNw0Kcz01KjIsIGY9MTMvMTAN
CnM9MTMNCg0Kbj0zOg0KDQpzPTJebiwgZj03LzINCnM9NyoyXntuLTF9LCBmPTEwLzcNCnM9NSoyXm4s
IGY9MzMvMjAgDQpzPTMqMTEqMl57bi0yfQ0Kcz0zKjExKjIsIGY9NS8xMQ0Kcz0zKjUqMiwgZj0xMy8x
MA0Kcz0zKjEzLCBmPTIvMw0Kcz0yKjEzLCBmPTcvMg0Kcz03KjEzLCBmPTEwLzcNCnM9Mio1KjEzLCBm
PTEzLzEwDQpzPTEzKjEzDQoNCm49NDoNCg0Kcz0yXm4sIGY9Ny8yDQpzPTcqMl57bi0xfSwgZj0xMC83
DQpzPTUqMl5uLCBmPTMzLzIwIA0Kcz0zKjExKjJee24tMn0sIGY9NS8xMQ0Kcz0zKjUqMl57bi0yfSwg
Zj0zMy8yMA0Kcz0zXjIqMTEqMl57bi00fQ0Kcz0zXjIqMTEsIGY9NS8xMSANCnM9M14yKjUsIGY9MS81
DQpzPTNeMioxMSwgZj0yLzMNCnM9MyoyKjUsIGY9MTMvMTANCnM9MyoxMywgZj0yLzMNCnM9MioxMywg
Zj03LzINCnM9NyoxMywgZj0xMC83DQpzPTUqMioxMywgZj0xMy8xMA0Kcz0xMyoxMw0KDQpTbyB3ZSBj
YW4gYmVnaW4gdG8gc2VlIGEgcGF0dGVybiA6LSkNCg0KSW4gZmFjdCwgd2UgY2FuIHdvcmsgdGhpcyBv
dXQgdmVyeSBuaWNlbHkgaWYgd2UgcmV3cml0ZSB0aGUgZnJhY3Rpb25zIGFzIGVxdWF0aW9uIHR5cGUg
dGhpbmdzOg0KDQoyKjIqNSAtPiAzKjExDQoxMSAtPiA1DQoyKjUgLT4gMTMNCjUgLT4gMQ0KMyAtPiAy
DQo3IC0+IDIqNQ0KMiAtPiA3DQoNCnRoZW4gd2UgY2FuIGNvbWJpbmUgdGhlIG9uZXMgdXNpbmcgdGhl
IHByaW9yaXRpZXMuLi4gcmVhZCB0aHJvdWdoIGFuZCBob3BlZnVsbHkgaXQgd2lsbCBtYWtlIHNlbnNl
IHdpdGhvdXQgbXkgY2x1bXN5IHdvcmRzIQ0KDQpvbmx5IHVzZSBvZiAxMToNCg0KMioyKjUgLT4gMyo1
DQoyKjUgLT4gMTMNCjUgLT4gMQ0KMyAtPiAyDQo3IC0+IDIqNQ0KMiAtPiA3DQoNCnRoZW4gb25seSB1
c2Ugb2YgNzoNCg0KMioyKjUgLT4gMyo1DQoyKjUgLT4gMTMNCjUgLT4gMQ0KMyAtPiAyDQoyIC0+IDIq
NQ0KDQpsYXRlIHVzZSBvZiAyIChtZWgsIHByb2JhYmx5IG5vdCB0b28gdGhvcm91Z2ggdGhlc2UgbmV4
dCB0d28pOg0KDQoyKjIqNSAtPiAzKjUNCjIqNSAtPiAxMw0KNSAtPiAxDQozIC0+IDIqNQ0KDQpsYXRl
IHVzZSBvZiAzOg0KDQoyKjIqNSAtPiAzKjUNCjIqNSAtPiAxMw0KNSAtPiAxDQozIC0+IDEzDQoNCnJl
bW92ZSA1Og0KDQoyKjIgLT4gMw0KMiAtPiAxMw0KMyAtPiAxMw0KDQpyZW1vdmUgMzoNCg0KMioyIC0+
IDEzDQoyIC0+IDEzDQoNClNvIHRoZSBhbnN3ZXIgd2lsbCBiZSAxM15yb3VuZF91cChuLzIpLiBFdmVu
IHdvcmtzIHdpdGggbj0wIQ0KDQpUaGF0IHByb29mIGlzIG5vdCB0ZXJyaWJseSB3ZWxsIGRvbmUuLi4g
dGhlIGtleSBpcyB0byBrZWVwIHRoZSBwcmlvcml0aWVzIGNvcnJlY3QsIG90aGVyd2lzZSB5b3UgZW5k
IHVwIHdpdGggdGhlIHJ1bGVzOg0KDQoyKjIgLT4gMiANCjIgLT4gMTMNCg0Kd2hpY2ggd291bGQgbWFr
ZSBhbnkgcmVzdWx0IGp1c3QgMTMsIHdoaWNoIHdlJ3ZlIHNlZW4gaXMgbm90IGNvcnJlY3QuDQoNCkZ1
biBzdHVmZiBNaWtlIDotKQ==


Edit: Uh.. guess it would be nicer spread out!

Will

gabri3l
May 21st, 2006, 03:38
Cool little math puzzle.

Heres my proof:
I am think it is correct so I use "proof" very lightly.

Code:
RmFzY2luYXRpbmcuIEl0IHBsYXlzIG9uIHRoZSBwYXJ0cyBvZiB0aGUgZnJhY3Rpb25zLg0KDQpG
aXJzdCB3ZSBoYXZlIHRoZSBiZWdpbm5pbmcgZXF1YXRpb246DQpzPTJebg0KDQpTaW1wbGUgbG9n
aWMgcmV2ZWFscyB0aGF0IDIgcmFpc2VkIHRvIGFueSBudW1iZXIgaXMgdGhlcmV1cG9uIGRpdmlz
aWJsZSBieSAyLg0KDQpTbyBvdXIgZmlyc3QgY2hvaWNlIHdpbGwgaGF2ZSB0byBiZSA3LzINCg0K
VGhlIHJlYXNvbj8gQWxsIHRoZSBvdGhlciBkZW5vbWluYXRvcnMgYXJlIG5vdCBwcm9kdWN0cyBv
ZiAyJ3MNCjcsMyw1LCBhbmQgMTEgYXJlIHByaW1lLg0KMTAgaXMgYSBwcm9kdWN0IG9mIDIgYW5k
IHRoZSBwcmltZSA1DQoyMCBpcyBhIHByb2R1Y3Qgb2YgMiBhbmQgMTAgd2hpY2ggc2hvd24gYWJv
dmUgaXMgYSBwcm9kdWN0IG9mIDIgYW5kIDUNCg0KT3VyIGZpcnN0IGNob2ljZSBpcyA3LzIgb3Vy
IHJlc3VsdGluZyBwcm9kdWN0IG9mIHMoNy8yKSA9IDcqMl4obi0xKQ0Kc2luY2UgZGl2aWRpbmcg
YW4gZXhwb25lbnRpYWwgZnVuY3Rpb24gYnkgdGhlIGJhc2UgaXMgdGhlIHNhbWUgYXMgc3VidHJh
Y3Rpbmcgb25lIGZyb20gdGhlIGV4cG9uZW50Lg0KDQpOb3cgd2UgaGF2ZSA3KjJeKG4tMSkgd2hp
Y2ggaXMgb25seSBkaXZpc2FibGUgYnkgNy4gDQpUaGlzIGlzIGJlY2F1c2UgNyBpcyBwcmltZSBt
ZWFuaW5nIHRoZXJlIGlzIG5vIG90aGVyIGRpdmlzb3IgZm9yIGEgcHJvZHVjdCBvZiA3KjIgb3Ro
ZXIgdGhhbiA3LCBzaW5jZSB3ZSBoYXZlIHJ1bGVkIG91dCBhbGwgb3RoZXIgZGVub21pbmF0b3Jz
IGZvciBhIGRpdmlzaW9uIG9mIDJeKG4tMSkuDQoNClN0aWxsIGZvbGxvdz8/IEdvb2QNCg0KU28g
d2UgY2FuIHByZWRpY3QgdGhhdCB0aGUgbmV4dCBmcmFjdGlvbiB3ZSBjaG9vc2UgaXMgMTAvNy4N
ClNvIG91ciBuZXh0IGVxdWF0aW9uIGlzOg0KKDEwLzcpKDcqMl4obi0xKSkNCndoaWNoIGlzIGVx
dWFsIHRvDQoxMCoyXihuLTEpDQoNCkhlcmUgd2UgbmVlZCB0byBmaW5kIGEgZGl2aXNvciBmb3Ig
dGhlIHByb2R1Y3Qgb2YgMTAgYW5kIDIuDQpPdXIgb3B0aW9ucyBoYXZlIHRvIGJlIHByb2R1Y3Rz
IG9mIHByaW1lcyAyIGFuZCA1Lg0KDQoyLDUsMTAsMjAgYXJlIGFsbCBvcHRpb25zIGZvciB0aGUg
ZGVub21pbmF0b3IuDQoNCkhlcmUgaXMgd2hlcmUgdGhlIG9wdGlvbnMgdmFyeSwgd2UgYXJlIGdv
aW5nIHRvIGV4YW1pbmUgZWFjaCBvbmUgdG8gaXRzIGNvbmNsdXNpb24uDQoNCkZpcnN0IHdlIHdp
bGwgcGljayB0aGUgc2ltcGxlIDEvNQ0KKDEvNSkoMTAqMl4obi0xKSkNCmlzIGVxdWFsIHRvDQoy
KjJeKG4tMSkNCndoaWNoIGlzIGVxdWFsIHRvDQoyXm4NCldoaWNoIHB1dHMgdXMgcmlnaHQgYmFj
ayBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBwdXp6bGUuIE1ha2luZyBhIGN5Y2xpY2FsIHJlc3Vs
dCwgc28gd2Ugc3RhcnQgb3ZlciBhbmQgZW5kIHVwIGF0IG91ciBjaG9pY2VzIGFnYWluOg0KMiw1
LDEwLDIwDQoNCldlIHdpbGwgcmVtb3ZlIDIgYW5kIDUsIHNpbmNlIHdlIGtub3cgdGhleSB3aWxs
IHJlc3VsdCBpbiBhIGN5Y2xpY2FsIHRyZW5kLg0KDQpUaGlzIGxlYXZlcyB1cyB0byBleGFtaW5l
IDEwIGFuZCAyMA0KDQpMZXRzIHRha2UgMTMvMTANCigxMy8xMCkoMTAqMl4obi0xKSkNCmlzIGVx
dWFsIHRvIDEzKjJeKG4tMSkNClRoZSByZXN1bHRpbmcgZnVuY3Rpb24gaXMgb25seSBkaXZpc2Fi
bGUgYnkgcHJpbWVzIDEzIGFuZCAyDQoNClNvIHRoYXQgbWVhbnMgd2UgY2FuIG9ubHkgZm9sbG93
IHRoZSBzYW1lIHN0ZXBzIHdlIGhhdmUgdGFrZW4gYmVmb3JlLCBzbG93bHkgZWxpbWluYXRpbmcg
MidzIGZyb20gdGhlIGVxdWF0aW9uLg0KRWFjaCB0aW1lIHdlIGVsaW1pbmF0ZSAyIHdlIGFyZSBh
bHNvIGdvaW5nIHRvIG11bHRpcGx5IHRoZSBudW1lcmF0b3IgYnkgMTMNCnNpbmNlIDEwID0gNSoy
DQpXZSBjYW4gcmV3cml0ZSB0aGUgZnVuY3Rpb24gYWJvdmUgYXMgNSoyXm4NCndoaWNoIG1lYW5z
IG5leHQgdGltZSB3ZSBnZXQgdG8gdGhpcyBzdGVwIHdlIGZpbmQgdGhhdCB3ZSBoYXZlIDEzKjUq
Ml4obi0xKQ0KV2UgY29udGludWUgdGhlIGN5Y2xpY2FsIHRyZW5kLi4uDQoNClRoZSBmaW5hbCBy
ZXN1bHQgbGVhdmVzIHVzIHdpdGggdGhlIHZhbHVlIDEzXm4NCg0KU28gd2Uga25vdyB0aGUgcmVz
dWx0IG9mIG9uZSBzdGVwIGxldHMgZXhhbWluZSB0aGUgcmVzdWx0IG9mIGRpdmlkaW5nIGJ5ICgz
My8yMCkNCigzMy8yMCkoMTAqMl4obi0xKSkNCmlzIGVxdWFsIHRvIA0KMzMqMl4obi0yKQ0KVGhh
dCBpcyBiZWNhdXNlIDEwIGlzIGEgcHJvZHVjdCBvZiA1IGFuZCAyIGFuZCAyMCBpcyBhIHByb2R1
Y3Qgb2YgNSBhbmQgMiBhbmQgMi4gd2hpY2ggbWVhbnMgMTAvMjAgaXMgZXF1aXZhbGVudCB0byA1
KjIvNSoyKjINCg0KU28gd2UgaGF2ZSBhbiBleHRyYSAyIGRpdmlkZWQgZnJvbSB0aGUgZXF1YXRp
b24uDQpBcyBzdGF0ZWQgYmVmb3JlLCBkaXZpZGluZyBhIGZ1bmN0aW9uIGJ5IHRoZSBiYXNlIGlz
IHRoZSBzYW1lIGFzIHN1YnRyYWN0aW5nIDEgZnJvbSB0aGUgZXhwb25lbnQuDQpSZXN1bHRpbmcg
d2l0aDogMzMqMl4obi0yKQ0KDQpOb3cgZmluZCB0aGF0IDMzIGlzIHRoZSBwcm9kdWN0IG9mIHBy
aW1lcyAxMSBhbmQgMy4gQm90aCBhcmUgZGVub21pbmF0b3JzIGluIG91ciBmcmFjdGlvbnMuDQoN
CjUvMTEgYW5kIDIvMw0KDQpOb3cgaG9wZWZ1bGx5IHlvdSBhcmUgc3RhcnRpbmcgdG8gc2VlIHRo
ZSBwYXR0ZXJuLi4uIHllcz8NCg0KaWYgd2Ugc29sdmUgdGhpcyBlcXVhdGlvbg0KKDUvMTEpKDMz
KjJeKG4tMikpDQpXZSBnZXQgKDUqMyooMl4obi0yKSkNCm5vdyB0aGF0IG9wZW5zIHRoZSBvcHRp
b25zIHVwIGZvciBkaXZpc2lvbiBvZiAxMCBhbmQgMjAgZGVwZW5kaW5nIG9uIG4uDQpCdXQgd2Ug
d2lsbCBzdGlsbCBuZWVkIHRvIGRpdmlkZSBieSAzIGF0IHNvbWUgcG9pbnQgc2luY2UgaXQgaXMg
YSBwcmltZSBhbmQgbm9uZSBvZiB0aGUgZGVub21pbmF0b3JzIGFyZSBwcm9kdWN0cyBvZiAzDQoN
ClNvIG91ciBlcXVhdGlvbjogKDIvMykoNSozKjJeKG4tMikpDQplcXVhbHMgMio1KjJeKG4tMikN
CldoaWNoIGlzIGVxdWl2YWxlbnQgdG8gMTAqMl4obi0yKQ0Kb3IgNSoyXihuLTEpDQoNClRoYXQg
bWVhbnMgd2UgaGF2ZSB0aGUgcHJpbWUgNSBpbiBvdXIgZXF1YXRpb24uIFNvIHdlIG5lZWQgdG8g
ZGl2aWRlIGJ5IDIgb3IgNSBvciAxMCBvciAyMA0KDQpUaGUgZW5kIHJlc3VsdCBpcyB3ZSBjb250
aW51b3NseSByZW1vdmUgMidzIGZyb20gb3VyIGZ1bmN0aW9uLCB0aGUgZW5kIHJlc3VsdCBpcyBz
aW1wbGU6DQphc3N1bWUgdGhhdCB3ZSBoYXZlIGRlY3JlYXNlZCBuLCBuLTEgdGltZXMgbGVhdmlu
ZyB1cyB3aXRoIDJeMQ0KDQpEaXZpZGUgMiBieSB0aGUgZnJhY3Rpb24gNy8yDQp0aGUgcmVzdWx0
ID0gNw0KNyBtdXN0IGJlIG11bHRpcGxpZWQgYnkgMTAvNw0KdGhlIHJlc3VsdCA9IDEwDQoxMCBj
YW4gYmUgbXVsdGlwbGllZCBieSAxLzUsNy8yLCBvciAxMy8xMA0KV2VsbCAxMCgxLzUpID0gMiAN
CkFnYWluIGN5Y2xpY2FsIHRyZW5kDQoNClNvIDEwKDcvMikgPSA1KjcgDQpXaGljaCBjYW4gYmUg
bXVsdGlwbGllZCBieSAxMC83IG9yIDEvNQ0KSG9wZWZ1bGx5IHlvdSBzZWUgYSBjeWNsaWNhbCB0
cmVuZCBhZ2Fpbg0KDQpTbyAxMCBtdXN0IGJlIGV2ZW50dWFsbHkgbXVsdGlwbGllZCBieSAxMy8x
MA0KDQpUaGUgZmluYWwgcmVzdWx0IGFnYWluIDEzXm4=


I must warn you I say divide a few times when talking about the numerators and denominators but I mean multiply by the fractions, just didn't feel like going back and fixing it.

mike
May 22nd, 2006, 08:00
LLXX: You got the first three terms right. What's the pattern?
wtbw: You got the first three terms, but messed up on n=4
Code:

s=2^n, f=7/2
s=7*2^{n-1}, f=10/7
s=5*2^n, f=33/20
s=3*11*2^{n-2}, f=5/11
s=3*5*2^{n-2}, f=33/20
s=3^2*11*2^{n-4}
s=3^2*11, f=5/11
s=3^2*5, f=1/5
s=3^2*11, f=2/3 <-- here, should be 3^2, not 3^2*11


To avoid typos, why don't you write up some code to follow the algorithm, and then see what happens?

gabri3l:
Quote:
[Originally Posted by gabri3l]Fascinating. It plays on the parts of the fractions.

Yep.
Quote:
[Originally Posted by gabri3l]So we can predict that the next fraction we choose is 10/7.
So our next equation is:
(10/7)(7*2^(n-1))
which is equal to
10*2^(n-1)

Yes, though it would probably be more useful to write 5*2^n.
Quote:
[Originally Posted by gabri3l]Here we need to find a divisor for the product of 10 and 2.
Our options have to be products of primes 2 and 5.

2,5,10,20 are all options for the denominator.

Here is where the options vary, we are going to examine each one to its conclusion.

No, you have no options! There is only one fraction that you're allowed to pick at each stage. The only option you have is choosing n.
Quote:
First we will pick the simple 1/5

You can only pick 1/5 if 33/20 doesn't work. And that always works if n>1.

wtbw
May 22nd, 2006, 09:11
Ah, what a stupid mistake, sorry Mike.

I see that there is a little more fun in this yet.

Code:
SSBzZWUgbm93IHRoYXQgbXkgbXVkZHkgcHJvb2Ygc3RlcHMgd2VyZSBjb3ZlcmluZyB1cCB0aGUgbWlz
dGFrZSB5b3UgcG9pbnRlZA0Kb3V0IDspDQoNCkhlcmUgYXJlIGV4YW1wbGVzIHVwIHRvIDcgbm93LCBj
b3JyZWN0IHRoaXMgdGltZSBJIGhvcGUgOnANCg0Kbj0xOg0KDQpzPTIsIGY9Ny8yDQpzPTcsIGY9MTAv
Nw0Kcz01KjIsIGY9MTMvMTANCnM9MTMNCg0Kbj0yOg0KDQpzPTJebiwgZj03LzINCnM9NyoyXntuLTF9
LCBmPTEwLzcNCnM9NSoyXm4sIGY9MzMvMjAgDQpzPTMqMTEqMl57bi0yfQ0Kcz0zKjExLCBmPTUvMTEN
CnM9Myo1LCBmPTEvNQ0Kcz0zLCBmPTIvMw0Kcz0yLCBmPTcvMg0Kcz03LCBmPTEwLzcNCnM9NSoyLCBm
PTEzLzEwDQpzPTEzDQoNCm49MzoNCg0Kcz0yXm4sIGY9Ny8yDQpzPTcqMl57bi0xfSwgZj0xMC83DQpz
PTUqMl5uLCBmPTMzLzIwIA0Kcz0zKjExKjJee24tMn0NCnM9MyoxMSoyLCBmPTUvMTENCnM9Myo1KjIs
IGY9MTMvMTANCnM9MyoxMywgZj0yLzMNCnM9MioxMywgZj03LzINCnM9NyoxMywgZj0xMC83DQpzPTIq
NSoxMywgZj0xMy8xMA0Kcz0xM14yDQoNCm49NDoNCg0Kcz0yXjQsIGY9Ny8yDQpzPTcqMl4zLCBmPTEw
LzcNCnM9NSoyXjQsIGY9MzMvMjAgDQpzPTMqMTEqMl4yLCBmPTUvMTENCnM9Myo1KjJeMiwgZj0zMy8y
MA0Kcz0zXjIqMTEsIGY9NS8xMSANCnM9M14yKjUsIGY9MS81DQpzPTNeMiwgZj0yLzMNCnM9MyoyLCBm
PTIvMw0Kcz0yKjIsIGY9Ny8yDQpzYW1lIGFzIDJeMg0KPTEzDQoNCm49NToNCg0Kcz0yXm4sIGY9Ny8y
DQpzPTcqMl57bi0xfSwgZj0xMC83DQpzPTUqMl5uLCBmPTMzLzIwIA0Kcz0zKjExKjJee24tMn0sIGY9
NS8xMQ0Kcz0zKjUqMl57bi0yfSwgZj0zMy8yMA0Kcz0zXjIqMTEqMl57bi00fSwgZj01LzExIA0Kcz0z
XjIqNSoyLCBmPTEzLzEwDQpzPTNeMioxMywgZj0yLzMNCnM9MyoyKjEzLCBmPTIvMw0Kcz0yKjIqMTMs
IGY9Ny8yDQoyKjIgLT4gMTMNCj0xM14yDQoNCm49NjoNCg0Kcz0yXjYsIGY9Ny8yDQpzPTcqMl41LCBm
PTEwLzcNCnM9NSoyXjYsIGY9MzMvMjAgDQpzPTMqMTEqMl40LCBmPTUvMTENCnM9Myo1KjJeNCwgZj0z
My8yMA0Kcz0zXjIqMTEqMl4yLCBmPTUvMTENCnM9M14yKjUqMl4yLCBmPTMzLzIwDQpzPTNeMyoxMSwg
Zj01LzExIA0Kcz0zXjMqNSwgZj0xLzUNCnM9M14zLCBmPTIvMw0Kcz0zXjIqMiwgZj0yLzMNCnM9Myoy
XjIsIGY9Mi8zDQpzPTJeMw0Kc2FtZSBhcyAyXjMNCj0xM14yDQoNCm49NzoNCg0Kcz0yXm4sIGY9Ny8y
DQpzPTcqMl57bi0xfSwgZj0xMC83DQpzPTUqMl5uLCBmPTMzLzIwIA0Kcz0zKjExKjJee24tMn0sIGY9
NS8xMQ0Kcz0zKjUqMl57bi0yfSwgZj0zMy8yMA0Kcz0zXjIqMTEqMl57bi00fSwgZj01LzExIA0Kcz0z
XjIqNSoyXntuLTR9LCBmPTMzLzIwDQpzPTNeMyoxMSoyXntuLTZ9LCBmPTUvMTEgDQpzPTNeMyo1KjIs
IGY9MTMvMTANCnM9M14zKjEzLCBmPTIvMw0Kcz0zXjIqMioxMywgZj0yLzMNCnM9MyoyKjIqMTMsIGY9
Mi8zDQpzPTJeMyoxMywgZj03LzINCjIqMyAtPiAxM14yDQo9MTNeMw0KDQpCeSBsb29raW5nIGF0IHdo
YXQncyBoYXBwZW5pbmcgd2l0aCBhIHJldmVyc2VyJ3MgZXllLCB5b3UgY2FuIGRlc2NyaWJlIHRoZQ0K
cHJvY2VzcyBhcyBmb2xsb3dzOg0KDQp0dXJuIDIqMiBpbnRvIDMNCnR1cm4gYSBsZWZ0IG92ZXIgc2lu
Z2xldG9uIDIgaW50byAxMyBpZiB0aGVyZSBpcyBvbmUNCnR1cm4gYWxsIDNzIGludG8gMnMNCnJlcGVh
dA0KDQpUYWJsZSBvZiByZXN1bHRzOg0KDQpuPTEsMiwzLDQsNSw2LDcNCnM9MTNeeA0KeD0xLDEsMiwx
LDIsMiwzDQoNClNvIHBzZXVkb2NvZGU6DQpyZXN1bHQ9MTMNCndoaWxlKG4+MSkNCglpZiBuIGlzIG9k
ZA0KCSAgcmVzdWx0PXJlc3VsdCoxMw0KCSAgbj0obi0xKS8yDQoJZWxzZQ0KCSAgbj1uLzINCgkgIA0K
SSByZWNvZ25pemUgdGhpcyBwYXR0ZXJuIGZyb20gZXhwZXJpZW5jZS4uLiBpdCdzIHVzZWQgdG8gY291
bnQgdGhlIHN1bSBvZiAxcyBpbg0KdGhlIGJpbmFyeSByZXByZXNlbnRhdGlvbiBvZiBuLiBJdCdzIHZl
cnkgc2ltaWxhciB0byBhIG1ldGhvZCB1c2VkIGZvcg0KZXhwb25lbnRhdGlvbiAocmVwZWF0ZWQgc3F1
YXJpbmcpLg0KDQpQcmVkaWN0aW9uczoNCg0Kbj04LDksMTAsMTEsMTIsMTMsMTQsMTUsMTYsMTcNCnM9
MTNeeA0KeD0xLDIsIDIsIDMsIDIsIDMsIDMsIDQsIDEsIDINCg0KSWYgc29tZW9uZSB3YW50cyB0byBw
cm9wZXJseSBwcm92ZSB0aGlzIGJlaGF2aW91ciBmcm9tIHRoZSBwcm9ibGVtIHRoZW4gSSdkIGJlDQpo
YXBweSB0byBzZWUgaXQsIGJ1dCBwcm9vZnMgbmV2ZXIgd2VyZSBteSBzdHJvbmcgcG9pbnQgOyk=


Cheers,

Will

Edit: fixed a typo

gabri3l
May 22nd, 2006, 10:37
ahh! I missed this part in the instructions:
Quote:

first fraction f in the list

Man that would have made all that writing much easier. lol

Thank god this wasn't a test because seems that little fact now changes everything. I would have failed.

mike
May 22nd, 2006, 11:17
wtbw: You got it! The pseudocode itself is a proof, so you're good there. Here's some more info.
Code:
VGhlIGZ1bmN0aW9uIGdpdmVzIDEzXkhXKG4pLCB3aGVyZSBIVyhuKSBpcyB0aGUgSGFtbWluZyB3ZWlnaHQgb2YgbiwgdGhlIHN1 bSBvZiBhbGwgdGhlIDEncyBpbiB0aGUgYmluYXJ5IGV4cGFuc2lvbi4=


gabri3l: Yes, that rule makes all the difference, doesn't it?

Next challenge for everyone:
Code:
R2l2ZW4gM15uMl5tLCBnaXZlIGEgbGlzdCBvZiBmcmFjdGlvbnMgc3VjaCB0aGF0IHRoZSBlbmQgcmVzdWx0IGlzIDVeKG4geG9y IG0p

wtbw
May 22nd, 2006, 11:45
More more more :-)

Code:
QXJnaCB5ZXMsIElcJ2QgaGVhcmQgb2YgSGFtbWluZyBkaXN0YW5jZXMvd2VpZ2h0cy4gRm9yZ290IHRo
ZSB0ZXJtIDotKQ0KDQpIZXJlXCdzIG15IChmaXJzdCkgYXR0ZW1wdCBhdCB0aGUgbmV4dCBjaGFsbGVu
Z2UgKGNvcnJlY3RlZCBiZWxvdyk6DQoNCjcvOSAxMS80IDEvNiA1LzMgNS8yIDMvNyAyLzExDQoNClNh
bWUgdGVjaG5pcXVlIGFzIGJlZm9yZSwgaGFsdmUgbi9tLCBpZiB0aGVyZXMgb25lIGxlZnQgb3ZlciB0
aGVuIHRoZXJlXCdzIGEgMQ0KaW4gdGhhdCBwb3NpdGlvbiBvZiBuIChpZiB0aGVyZVwncyBhIDMpIG9y
IG0gKGlmIHRoZXJlXCdzIGEgMikuIDExIGFuZCA3IGFyZSB1c2VkDQphcyB0ZW1wb3JhcnkgcmVwcmVz
ZW50YXRpdmVzLiBJZiB0aGVyZVwncyBib3RoIGEgMiBhbmQgYSAzIGxlZnQgb3ZlciwgdGhlbiB3ZSBn
bw0KdG8gYSAxIGJlY2F1c2UgMSB4b3IgMSBpcyAwLiBJZiB0aGVyZVwncyBqdXN0IG9uZSBvciB0aGUg
b3RoZXIgYWZ0ZXIgdGhhdCwgd2UgZ28NCnRvIDUuIFRoZW4gd2UgcmVzZXQgYmFjayB0byB0aGUgM3Mg
YW5kIDJzLg0KDQpJIGhhdmVuXCd0IGNoZWNrZWQgdGhpcyBpbiBkZXRhaWwsIGJ1dCBJIHRoaW5rIHRo
ZSBpZGVhIGlzIGF0IGxlYXN0IHNvdW5kLg0KDQpFZGl0OiBvaCwgc2lsbHkgbWUsIHdlIG5lZWQgdGhl
IHN3aXRjaCBiaXQgdGhlcmUgZG9uXCd0IHdlLiBUaGlzIGlzIHdoeSBJIHNob3VsZA0KYmUgYXNsZWVw
ISBJXCdtIG5vdCBzdXJlIGlmIHRoaXMgaXMgdGhlIG1vc3QgZWZmaWNpZW50IHdheSBvZiBkb2luZyBp
dCwgYnV0IEkNCmhvcGUgaXRcJ3MgY2xlYXI6DQoNCjEzKjcvMTMqOSAxMyoxMS8xMyo0IDEzKjEvMTMq
NiAxMyo1LzEzKjMgMTMqNS8xMyoyIDEvMTMgMy83IDIvMTEgMTMqMi8yIDEzKjMvMyANCg0KUmlnaHQg
YXQgdGhlIHN0YXJ0LCB3ZSBwdXQgYSBmYWN0b3Igb2YgMTMgaW4gYXMgYSBzd2l0Y2gsIGludHJvZHVj
ZWQgYnkgdGhlDQpsYXN0IHR3byB0ZXJtcy4gVGhlIGZpcnN0IDUgZnJhY3Rpb25zIHdpbGwgdGhlbiB3
b3JrIGFzIEkgZGVzY3JpYmVkIGFib3ZlIGZvcg0Kb25lIGN5Y2xlLCB1bnRpbCB0aGVyZSBpcyBub3Ro
aW5nIGxlZnQgdG8gZG8uIFRoZW4gdGhlIDEvMTMgd2lsbCBkaXNhYmxlIHRoZQ0KMTMgc3dpdGNoLCB0
aGUgN3MvMTFzIHdpbGwgYmUgY29udmVydGVkIGJhY2sgaW50byAzcy8ycyBhbmQgdGhlIGN5Y2xlIHdp
bGwNCnJlcGVhdCBhcyBkZXNpcmVkLg==


Edit is explained inside!

Will

mike
May 23rd, 2006, 16:56
wtbw:
Code:
SXQgbG9va3MgbGlrZSB5b3UncmUgdHJ5aW5
nIHRvIHNvbHZlIDNebiAyXm0gLT4gNV5IVyhuIHhvciBtKSwgDQp3
aGljaCBpcyBhIHZlcnkgZGlmZmVyZW50IHRoaW5nIGZyb20gNV4obiB4b3
IgbSkuICBBbHNvLCBtdWx0aXBseWluZw0KdG9wIGFuZCBib3R0b20gb2
YgYSBmcmFjdGlvbiBieSB0aGUgc2FtZSB0aGluZyBkb2Vzbid0IGNoYW5nZSB0
aGUgZnJhY3Rpb24h

JMI
May 25th, 2006, 19:31
My apologies to wtbw for having overwritten his Post four times with my efforts at creating a second forum with the current database to practice in setting up the OllyForum, which will be appearing here shortly.

I thought I had solved all the problem, but still had one last glitch which caused the database to, again, revert to the 05.23.06 backup and then be brought up again to the 05.24.06 backup. Unfortunately, when that backup was made, wtbw had not reposted his contribution, which he hopefully can post one last time without me screwing it up again.

Our test forum is up and running with the 05.24.06 current forum backup and we are about to attempt importing the OllyForum, which Kayaker worked dilegently on to convert, then convert the conversion, and finally import into a working vBulletin forum. Now we attempt to import into a working copy of the current Forum and see how that works. If all goes smoothly, we will have it open very soon.

Regards,

wtbw
May 26th, 2006, 01:34
What a mission :-)

Code:
QWgsIGJsb29keSBoZWxsLiBUaGUgZGlmZmVyZW5jZSBiZWluZyB0aGF0IHlvdSB3YW50IHRvIGRvdWJs
ZSB0aGUgY3VycmVudCBudW1iZXINCm9mIGZpdmVzIGVhY2ggdGltZSwgYmVmb3JlIGFkZGluZyBvbmUu
DQoNClRvIGZpeCB0aGUgZnJhY3Rpb24gcHJvYmxlbSBpcyBwcmV0dHkgc2ltcGxlOg0KDQoxMy8xNyAx
Nyo3LzEzKjkgMTcqMTEvMTMqNCAxNy8xMyo2IDE3KjUvMTMqMyAxNyo1LzEzKjIgMS8xMyAxLzE3IDMv
NyAyLzExDQoxMyoyLzIgMTMqMy8zIA0KDQpmaXhlcyB0aGUgcHJvYmxlbSB3aXRoIDEzcywgYnV0IHRo
ZW4gd2UgaGF2ZSBpdCBhZ2FpbiB3aXRoIHRoZSBsYXN0IHR3byB0ZXJtcy4NCg0KMi8xOSAzLzIzIDEz
LzE3IDE3KjcvMTMqOSAxNyoxMS8xMyo0IDE3LzEzKjYgMTcqNS8xMyozIDE3KjUvMTMqMiAxLzEzIDMv
NyAyLzExDQoxMyoxOS8yIDEzKjIzLzMgDQoNCg0KU28gbm93IHdlIGZpeCB0aGUgbGFjayBvZiBkb3Vi
bGluZy4NCg0KSGVyZVwncyB0aGUgcHNldWRvY29kZSBvZiB3aGF0IElcJ20gdHJ5aW5nIHRvIGFjaGll
dmU6DQoNCnJlc3VsdD0xDQp3aGlsZShtIG9yIG4pDQogIHJlc3VsdD1yZXN1bHReMg0KICBpZiBtIGlz
IG9kZCBhbmQgbiBpcyBvZGQNCiAgICBtPW0tMQ0KICAgIG49bi0xDQogIGVsc2UgaWYgbSBpcyBvZGQN
CiAgICBtPW0tMQ0KICAgIHJlc3VsdD1yZXN1bHQqNQ0KICBlbHNlIGlmIG4gaXMgb2RkDQogICAgbj1u
LTENCiAgICByZXN1bHQ9cmVzdWx0KjUNCiAgbT1tLzINCiAgbj1uLzINCg0KSVwnbSBnb2luZyB0byBz
dGFydCBmb3JtYXR0aW5nIHVwL2Rvd24gZm9yIGNsYXJpdHkuIFRoZSBpbmRlbnRhdGlvbiBkb2Vzblwn
dA0KYWZmZWN0IHByaW9yaXR5Lg0KDQoxOiAyLzE5DQoxOiAzLzIzDQoyOiAgIDI5LzMxDQoyOiAgICAg
MzEqMzcvMjkqNSAgDQoyOiAgIDEzLzI5DQoyOiAgIDUqNS8zNw0KICAgICAgDQozOiAgIDEzLzE3DQoz
OiAgICAgMTcqNy8xMyozKjMNCjM6ICAgICAxNyoxMS8xMyoyKjINCjQ6ICAgICAxNy8xMyoyKjMNCjQ6
ICAgICAxNyo1LzEzKjINCjQ6ICAgICAxNyo1LzEzKjMNCjU6ICAgMS8xMyAgDQo1OiAgIDMvNw0KNTog
ICAyLzExDQoNCjE6IDI5KjE5LzINCjE6IDI5KjIzLzMNCg0KDQpJdFwncyBzdGFydGluZyB0byBsb29r
IGEgYml0IGNvbXBsaWNhdGVkLCBzbyBsZXRcJ3MgcmV2aWV3Og0KDQojIFN0YWdlIDENCiMgVHVybiBv
biBhIHN3aXRjaCAoMjkpLCBhbGxvd2luZyB0aGUgZG91Ymxpbmcgcm91bmQgdG8gY29udGludWUuDQoj
IExlYXZlIG51bWJlciBvZiAycy8zcyBpbnRhY3QuDQoNCklmIHRoZXJlIGFyZSBhbnkgMnMsIHJlcGxh
Y2Ugb25lIHdpdGggMjkqMTkNCiAgSWYgbm90LCByZXBsYWNlIGEgMyB3aXRoIDI5KjIzDQogICAgSWYg
bmVpdGhlciwgdGhlbiB3ZVwncmUgZG9uZS4NClR1cm4gdGhlIDE5IG9yIDIzIGJhY2sgaW50byAyIG9y
IDMgcmVzcGVjdGl2ZWx5Lg0KDQojIFN0YWdlIDINCiMgRG91YmxlIHRoZSBudW1iZXIgb2YgZml2ZXMs
IGFuZCB0aGVuIGV4Y2hhbmdlIHRoZSAyOSBzd2l0Y2ggZm9yIHRoZSAxMyBzd2l0Y2gsIGFsbG93aW5n
IHRoZSBiaXQgcm91bmQgdG8gY29udGludWUuDQoNClR1cm4gYSA1IGludG8gYSAzNywgYW5kIHRoZSAy
OSBpbnRvIDMxLg0KVHVybiB0aGUgMzEgYmFjayBpbnRvIGEgMjkuDQpSZXBlYXQgdW50aWwgbm8gZml2
ZXMgcmVtYWluLg0KDQpUdXJuIHRoZSAyOSBpbnRvIGEgMTMuDQoNClJlcGxhY2UgYW55IDM3cyB3aXRo
IDUqNS4NCg0KIyBTdGFnZSAzDQojIEhhbHZlIG0vbjsgaWYgdGhlcmUgaXMgYSByZW1haW5kZXIsIHRo
ZXJlIGlzIGEgMSBpbiB0aGlzIHBvc2l0aW9uIG9mIHRoZSBiaW5hcnkgcmVwcmVzZW50YXRpb24uDQoN
CklmIHRoZXJlIGFyZSB0d28gM3MgKDMqMz05KSwgcmVwbGFjZSB3aXRoIDcuDQogIFJlcGVhdCB1bnRp
bCBlaXRoZXIgbm8gM3Mgb3Igb25seSBvbmUgMyByZW1haW5zLg0KSWYgdGhlcmUgYXJlIHR3byAycyAo
MioyPTQpLCByZXBsYWNlIHdpdGggMTEuDQogIFJlcGVhdCB1bnRpbCBlaXRoZXIgbm8gMnMgb3Igb25s
eSBvbmUgMiByZW1haW5zLg0KDQojIFN0YWdlIDQNCiMgU28gaWYgdGhlcmUgaXMgYSAxIGluIGJvdGgg
KDIgYW5kIDMgcmVtYWluZGVycyBwcmVzZW50KSBjYW5jZWwgaXQgb3V0LiBJZiBqdXN0IG9uZSBvZiB0
aGVtLCBhZGQgYSA1Lg0KDQpJZiB0aGVyZVwncyBhIDIgYW5kIGEgMyAoMiozKSwgcmVwbGFjZSB3aXRo
IDEuDQpJZiB0aGVyZVwncyBzdGlsbCBhIDIsIHJlcGxhY2Ugd2l0aCA1Lg0KICBJZiB0aGVyZVwncyBz
dGlsbCBhIDMsIHJlcGxhY2Ugd2l0aCA1Lg0KICANCiMgU3RhZ2UgNQ0KIyBUdXJuIG9mZiB0aGUgMTMg
c3dpdGNoIGFuZCBwdXQgMnMvM3MgYmFjay4NCg0KUmVwbGFjZSAxMyB3aXRoIDEuDQpSZXBsYWNlIGFu
eSA3cyB3aXRoIDNzLg0KUmVwbGFjZSBhbnkgMTFzIHdpdGggMnMuDQoNClRoZW4gdGhlIGVudGlyZSBw
cm9jZXNzIHJlcGVhdHMsIHVudGlsIHRoZXJlIGFyZSBubyAycyBvciAzcyByZW1haW5pbmcuDQoNCkhl
cmVcJ3MgYSBxdWljayB0YWJsZSBvZiByZWZlcmVuY2Ugb2Ygd2hhdCB0aGUgcHJpbWVzIGFyZSB1c2Vk
IGZvcjoNCg0KMjogc3RvcmVzIG0NCjM6IHN0b3JlcyBuDQo1OiByZXN1bHQNCjc6IHN0b3JlcyBuLzIg
dGVtcG9yYXJpbHkNCjExOiBzdG9yZXMgbS8yIHRlbXBvcmFyaWx5DQoxMzogc3dpdGNoIGZvciBzdGFn
ZXMgMy00DQoxNzogb3RoZXIgaGFsZiBvZiAxMyBzd2l0Y2gNCjE5OiB1c2VkIHRvIGFjdGl2YXRlIDI5
IHN3aXRjaDsgaG9sZHMgYSAyIHRlbXBvcmFyaWx5DQoyMzogdXNlZCB0byBhY3RpdmF0ZSAyOSBzd2l0
Y2g7IGhvbGRzIGEgMyB0ZW1wb3JhcmlseQ0KMjk6IHN3aXRjaCBmb3Igc3RhZ2UgMg0KMzE6IG90aGVy
IGhhbGYgb2Ygc3dpdGNoIGZvciBzdGFnZSAyDQozNzogc3RvcmVzIHJlc3VsdCBiZWZvcmUgKjI=


Will

mike
May 26th, 2006, 20:44
wtbw: Great! I hope you can see that the system is universal for computation. Can you come up with a systematic way to call a subroutine? That is, given your program, how could you use it in another program that may use those primes for something else?

wtbw
May 27th, 2006, 07:54
Yeah, it's a nice thing indeed, thank you for sharing it

I haven't coded anything up for this, because it's just a first idea and I think it would be horrible to code (and I'm exhausted from doing the T2 challenge).. but how about using two primes above whatever the function uses as a "store"...

One prime (let's say 7) will be a count of bits used per prime, and the other (say 11) will be huge, being a concatted sequence of binary numbers.

eg: before the call we have 2*2*2*3*5*5*5*5*7*11*11*13

In our call we use 2,3,5. 7 and 11 are used for this. 13 we can leave alone.

So we store as follows before we do any of our call:
Maximum number of bits needed is 3 (to store four 5s). So we have 7*7*7.

then we have three bits for each of 2,3,5,7,11:
2: 3 - 011
3: 1 - 001
5: 4 - 100
7: 1 - 001
11: 2 - 010

concat them all: 011 001 100 001 010 = 0x330A = 13066decimal.

So we create 11^13066. This may seem a bit excessive (it is, I'm sure), but it leaves all the information intact so as long as it's possible to do the encoding.... now I think about it, maybe that's the difficulty here, not representing it... how do you start the sequence off without losing anything, if you can't assume that any particular prime is free? How do you know that whatever possible "first" step is done was not the state beforehand, if you see what I mean... maybe the key is to always dedicate one/two/whatever as free and available at the start of calls? You tell me mike!

I've left this reply cleartext because I think it suits more of a discussion now... and if people are scrolling down this far anyway they probably deserve it But someone feel free to edit me if you disagree.

Will

dELTA
May 28th, 2006, 10:48
Yeah, please cleartext from now on guys, the base64 posting is starting to get a bit old...

mike
May 28th, 2006, 21:03
I was just thinking something along the lines of shifting all the primes. That is, if we let p[I] be the ith prime (i is the index on the prime), then if I've already used primes with indices 1 to n, then if I add n to all the prime indices in the subroutine I'm guaranteed that there won't be any collisions.

By the way, this system is called Fractran and was invented by John Conway.

wtbw
May 29th, 2006, 00:40
Oh I see, I thought you meant doing it dynamically, without any knowledge about the use of primes in what you were inserting it to.

Cool

Will