Sie sind nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: GentooForum.de. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

1

15.01.2006, 21:28

Suche Programmiersprache

Hallo Forum,
ich suche eine Programmier/Scriptsprache, die mit Zahlen so in der Höhe von dieser hier:
388754930606287846698524858430080429954004378112905405752883542711436751460939675891637350654884606462396854522973683908989292158497686648213975331505825595508540192203744825717

mit akzeptabler Geschwindigkeit rechnen können!
wär cool wenn mir jemand da einen tipp geben könnte.
Ein bisshen ehrfahrung hab ich schon in:

Ruby, pascal, php

danke schonmal,
lorenz
Software is like sex - it's better when it's free.

2

16.01.2006, 10:28

Schau dir mal Aribas an, haben sie bei uns in Krytologie eingesetzt, weil man da mit großen Zahlen rechnen muss.
http://www.mathematik.uni-muenchen.de/~f…/sw/aribas.html
http://beatrice.etechnik.fh-aachen.de/~h…bas/aribas.html
localhost,
sweet localhost

3

16.01.2006, 16:20

Oder einfach Python. Damit kann man ohne zusätzlichen Aufwand "beliebig große" Zahlen verwenden. Etwa Zahlen wie 10000!, eine verdammt hohe Zahl.

mfg fgh
42

4

16.01.2006, 18:06

ok, ich korrigiere mich... ;)
ich brauch eine vernünftige sprache, in der zahl - sqrt(zahl) nicht irgendwas 20stelliges is ;)

mit aribas komm ich irgendwie überhaupt nicht klar...

also, mein problem ist, ich will eine groooße zahl(die kennt ihr ja schon) in 2 primfaktoren zerlegen. von diesen faktoren weiß ich nur, dass sie ungerade sind und nahe zusammen, d.h. nahe bei der wurzel liegen.

also müsste man dann im endeffekt von floor(wurzel / 2) * 2 - 1 (damits ungerade is) in 2erschritten raufzählen.

Danke & ciao,
Lorenz

P.S.: Assembler? sowas geht da doch sicher... aber ich kann kein assembler... also, falls jemand zu viel freizeit hat... ;)

edit:

Quellcode

1
2
3
4
5
6
7
8
9
10
==> set_floatprec(1024)
.
-: 1024

==> zahl := 388754930606287846698524858430080429954004378112905405752883542711436751460939675891637350654884606462396854522973683908989292158497686648213975331505825595508540192203744825717.
-: 82_55955_08540_19220_37448_25717

==> zahl.
eval: unbound symbol: zahl
-: error

was hat das zu bedeuten?
Software is like sex - it's better when it's free.

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »lolo« (16.01.2006, 18:28)


5

17.01.2006, 09:55

perl

wie wärs mit perl?

#!/usr/bin/perl -w
$a=388754930606287846698524858430080429954004378112905405752883542711436751460939675891637350654884606462396854522973683908989292158497686648213975331505825595508540192203744825717;
$b=(sqrt $a)*2-1;
printf "%80.f\n", $b;

lg
... nur ein weiterer tag im leben eines naren ... :P

6

17.01.2006, 17:25

hi,
knapp daneben ist auch vorbei ;)

Quellcode

1
2
3
4
5
6
#!/usr/bin/perl -w
$zahl=38875493060628784669852485843008042995400437811290540575288354271143675146
09396758916373506548846064623968545229736839089892921584976866482139753315058255
95508540192203744825717;
$p=sqrt $zahl;
printf "%80.f\n", $zahl - $p*$p;

Quellcode

1
-56236422431789954785131731346074773235871213978773957913759444657647969758393598378988008576298635714374011382919011189040103325693678746112606439760814548189184
Software is like sex - it's better when it's free.

7

17.01.2006, 19:10

heißt

im klartext, mit perl gehts net oder?

btw, wofür brauchst sowas überhaupt?
... nur ein weiterer tag im leben eines naren ... :P

8

17.01.2006, 19:18

hi,
ich hab das jetzt gelöst, ich hatte das mit aribas irgendwie verplant...

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
function getPrimFaktor(zahl: integer): integer;
        var p: integer;
        begin
                set_floatprec(1024);
                p := floor(sqrt(zahl) / 2) * 2 - 1;
                while zahl mod p /= 0  do
                        p := p + 2;
                end;
                return p;
        end.
                        


load("nummer.ari").
transcript("faktor").
getPrimFaktor(nummer).
transcript(0).


danke für eure hilfe!

so, jetzt sollt ihr auch wissen wofür ich das brauch:
es ist ein sportlicher wettbewerb, in dem es darum geht einen 598bit-RSA-modulus in seine 2 faktoren zu zerlegen...

Lorenz
Software is like sex - it's better when it's free.