Toon posts:

[All language] Programmeer webstrijd

Pagina: 1 2 3 4 Laatste
Acties:
  • 1.069 views sinds 30-01-2008
  • Reageer

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 08:34

.oisyn

Moderator Devschuur®

Demotivational Speaker

Op woensdag 31 oktober 2001 20:08 schreef The - DDD het volgende:

[..]

Denk dat het schatten van de rekentijd ook wel nuttig zal zijn (om vervolgens de hoop op te geven :D ).
Ja maar dat heb ik allang gegeven, in de vorige topic die hierover ging nog wel, en dus heb ik de hoop sowieso al opgegeven :)

Ik zal het nog een keertje kwoten:
As shown, to factor a 760-bit number in one year would require 215,000 Pentium 500 MHz-class machines, each with 4 Gigabytes of physical RAM. These are estimates based on today's best factoring technology. It is possible that new techniques will be developed that may reduce both the number of machines and the storage per machine. A more detailed description of the cost of factoring, and of breaking keys for other cryptographic methods is presented in RSA Laboratories Bulletin #13.

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Verwijderd

Topicstarter
Op woensdag 31 oktober 2001 20:11 schreef OiSyN het volgende:

[..]

Ja maar dat heb ik allang gegeven, in de vorige topic die hierover ging nog wel, en dus heb ik de hoop sowieso al opgegeven :)

Ik zal het nog een keertje kwoten:
[..]
jep, maar je weet niet, hoe hun dat berekend hebben, wij hebben hier al aardig wat dingen, die we kunnen schappen... en we hebben meer dan 1 computer :)

  • marcusk
  • Registratie: Februari 2001
  • Laatst online: 26-09-2023
Op woensdag 31 oktober 2001 20:23 schreef KixAss456 het volgende:
jep, maar je weet niet, hoe hun dat berekend hebben, wij hebben hier al aardig wat dingen, die we kunnen schappen... en we hebben meer dan 1 computer :)
Ga er maar vanuit dat zij ook wel even hebben nagedacht bij het maken van die berekeningen ;)
code:
1
2
3
Length (bits)  Machines  Memory  
430     1      trivial  
760     215,000   4 Gb

576 zit daar ergens tussenin. jullie hebben meer dat 1 computer, maar geen 100.000 neem ik aan :)

  • The - DDD
  • Registratie: Januari 2000
  • Laatst online: 03-09 16:40
Zoink... ik bedoel maar... |:( :P

Bezorgde tweaker ouder: "Zoon, waarom gaat die PC van jou nooit uit?"

Tweaker: "Omdat ik [insert dat lange getal hier] aan het crunchen ben."

Nog bezorgdere tweaker ouder: "Euh, en wat als de stroom uitvalt?"

Tweaker: "Ik heb niet voor niets een UPS staan."

  • The - DDD
  • Registratie: Januari 2000
  • Laatst online: 03-09 16:40
Op woensdag 31 oktober 2001 20:27 schreef marcusk het volgende:
576 zit daar ergens tussenin. jullie hebben meer dat 1 computer, maar geen 100.000 neem ik aan :)
Maar we klokken voor een deel wel over, helpt dat dan niet? :?

[onofficiele waarschuwing van The - DDD]
Argh, ik ben in een irri bui...
[/onofficiele waarschuwing van The - DDD]

  • rjsomeone
  • Registratie: Juli 2001
  • Laatst online: 20-11-2023

rjsomeone

a.k.a. Tuslsh

Gaan we een progje schrijven of niet.. hoeveel mensen zouden 't willen draaien, dan kunnen we daaruit afleiden hoelang 't zou duren, zijn 't er 10, dan kunnen we de hoop opgeven, maar als 't bijv op de frontpage van tweakers.net komt :) zijn er vast meer mensen die mee willen doen.

Hier had uw advertentie kunnen staan :).


Verwijderd

Topicstarter
Ligt eraan, als we al het geld aan Tnet ofzo geven, dan heeft heel GoT opeens een stier lopen :)

  • rjsomeone
  • Registratie: Juli 2001
  • Laatst online: 20-11-2023

rjsomeone

a.k.a. Tuslsh

Op woensdag 31 oktober 2001 20:47 schreef KixAss456 het volgende:
Ligt eraan, als we al het geld aan Tnet ofzo geven, dan heeft heel GoT opeens een stier lopen :)
Nouja, of iets van de 50% voor GoT en 20% voor de winnaar en 30% voor de schijvers van de software?

Typo:
Ok ik kan niet tellen

Hier had uw advertentie kunnen staan :).


  • .oisyn
  • Registratie: September 2000
  • Laatst online: 08:34

.oisyn

Moderator Devschuur®

Demotivational Speaker

Op woensdag 31 oktober 2001 20:49 schreef rjsomeone het volgende:

[..]

Nouja, of iets van de 50% voor GoT en 30% voor de winnaar en 30% voor de schijvers van de software?
dat is al 110%

en waar blijft mijn deel? het was mijn idee :P

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • rjsomeone
  • Registratie: Juli 2001
  • Laatst online: 20-11-2023

rjsomeone

a.k.a. Tuslsh

Op woensdag 31 oktober 2001 20:56 schreef OiSyN het volgende:

[..]

dat is al 110%

en waar blijft mijn deel? het was mijn idee :P
Doe je niet mee met het schrijven van de software dan?

Hier had uw advertentie kunnen staan :).


  • .oisyn
  • Registratie: September 2000
  • Laatst online: 08:34

.oisyn

Moderator Devschuur®

Demotivational Speaker

nou, op zich wel, ik zie dit alleen niet van de grond komen, maar dat terzijde... Maar voor mijn idee wil ik ook een deel hebben :)

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • rjsomeone
  • Registratie: Juli 2001
  • Laatst online: 20-11-2023

rjsomeone

a.k.a. Tuslsh

Op woensdag 31 oktober 2001 21:12 schreef OiSyN het volgende:
nou, op zich wel, ik zie dit alleen niet van de grond komen, maar dat terzijde... Maar voor mijn idee wil ik ook een deel hebben :)
hm.. 0.0001 % genoeg :)
Ik vraag ook niks voor het beginnen van dit gebeuren, maar ik wil offcourse welmeedoen met 't ontwerpen van de software.

Hier had uw advertentie kunnen staan :).


Verwijderd

Topicstarter
Mij maakt het geld nix uit, dus als ik mee doe met proggen, gaat mijn deel lekker naar Tnet 8-)

  • rjsomeone
  • Registratie: Juli 2001
  • Laatst online: 20-11-2023

rjsomeone

a.k.a. Tuslsh

Op woensdag 31 oktober 2001 21:21 schreef KixAss456 het volgende:
Mij maakt het geld nix uit, dus als ik mee doe met proggen, gaat mijn deel lekker naar Tnet 8-)
hm.. ja mij best, maar er zullen niet zo heel veel mensen meedoen als er niet wat te verdienen valt.

Hier had uw advertentie kunnen staan :).


  • .oisyn
  • Registratie: September 2000
  • Laatst online: 08:34

.oisyn

Moderator Devschuur®

Demotivational Speaker

als het jou toch nix uitmaakt, mag jou deel dan naar mij? :P

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • rjsomeone
  • Registratie: Juli 2001
  • Laatst online: 20-11-2023

rjsomeone

a.k.a. Tuslsh

Op woensdag 31 oktober 2001 21:24 schreef OiSyN het volgende:
als het jou toch nix uitmaakt, mag jou deel dan naar mij? :P
Beetje een hebberd he >:)?

Hier had uw advertentie kunnen staan :).


Verwijderd

Topicstarter
Op woensdag 31 oktober 2001 21:24 schreef rjsomeone het volgende:

[..]

hm.. ja mij best, maar er zullen niet zo heel veel mensen meedoen als er niet wat te verdienen valt.
Ag, de eer vind ik genoeg... En mischien komt Paul Pietersma nog langs :+

Strax kan ik aan m'n kleinkinderen vertellen van: "Kijk, ik heb nog meegeholpen, met het kraken van de RSA code" (als de RSA dan nog niet failliet is :+ )

  • rjsomeone
  • Registratie: Juli 2001
  • Laatst online: 20-11-2023

rjsomeone

a.k.a. Tuslsh

Op woensdag 31 oktober 2001 21:26 schreef KixAss456 het volgende:

[..]

Ag, de eer vind ik genoeg... En mischien komt Paul Pietersma nog langs :+

Strax kan ik aan m'n kleinkinderen vertellen van: "Kijk, ik heb nog meegeholpen, met het kraken van de RSA code" (als de RSA dan nog niet failliet is :+ )
Als wij 't een beetje snel kraken wel ja :p

Hier had uw advertentie kunnen staan :).


Verwijderd

Topicstarter
Op woensdag 31 oktober 2001 21:33 schreef rjsomeone het volgende:

[..]

Als wij 't een beetje snel kraken wel ja :p
ik zei Kleinkinderen hè, zo lang zullen we er toch niet over doen? :P

  • rjsomeone
  • Registratie: Juli 2001
  • Laatst online: 20-11-2023

rjsomeone

a.k.a. Tuslsh

Op woensdag 31 oktober 2001 21:50 schreef KixAss456 het volgende:

[..]

ik zei Kleinkinderen hè, zo lang zullen we er toch niet over doen? :P
:P ik bedoelde eigenlijk dat RSA failliet zou gaan als wij 't erg snel zouden kraken

Hier had uw advertentie kunnen staan :).


Verwijderd

Topicstarter
Op woensdag 31 oktober 2001 21:53 schreef rjsomeone het volgende:

[..]

:P ik bedoelde eigenlijk dat RSA failliet zou gaan als wij 't erg snel zouden kraken
:D Rofl

Verwijderd

Nou ik wel echt wel mee proggen, ik had al veel langer in gedachten om een dc programma te maken, en nu is er een leuk project weer we aan kunnen werken, en ik hoef er niets mee te verdienen maar mijn programmeer kennis zal zeker omhoog gaan.

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 08:34

.oisyn

Moderator Devschuur®

Demotivational Speaker

is het al af?
Waar is mijn deel? :P

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • rjsomeone
  • Registratie: Juli 2001
  • Laatst online: 20-11-2023

rjsomeone

a.k.a. Tuslsh

Op woensdag 31 oktober 2001 22:35 schreef OiSyN het volgende:
is het al af?
Waar is mijn deel? :P
eerst kijken welk algoritme we gaan gebruiken, en dan ff verdeling maken van wie wat doet.....

Volgens mij is een algoritme dat alleen alle getallen tussen Sqr(getal) en Sqr(getal)*.5*Sqr(getal)+.5 eindigend op 1,3,7,9 genoeg is...
-er moet dus een cgi script komen dat dit aan kan..
-een algoritme dat HET getal deelt door al die getallen
Dat lijkt me genoeg voor nu.. Wie gaat er beginnen aan die 2e? Die eerste ga ik in iedergeval morgen of overmorgen aan beginnen, wie wil helpen, ga je gang.

Hier had uw advertentie kunnen staan :).


  • rjsomeone
  • Registratie: Juli 2001
  • Laatst online: 20-11-2023

rjsomeone

a.k.a. Tuslsh

foutje geloof ik :)

Hier had uw advertentie kunnen staan :).


Verwijderd

Topicstarter
Op woensdag 31 oktober 2001 22:45 schreef rjsomeone het volgende:

[..]

eerst kijken welk algoritme we gaan gebruiken, en dan ff verdeling maken van wie wat doet.....

Volgens mij is een algoritme dat alleen alle getallen tussen Sqr(getal) en Sqr(getal)*.5*Sqr(getal)+.5 eindigend op 1,3,7,9 genoeg is...
-er moet dus een cgi script komen dat dit aan kan..
-een algoritme dat HET getal deelt door al die getallen
Dat lijkt me genoeg voor nu.. Wie gaat er beginnen aan die 2e? Die eerste ga ik in iedergeval morgen of overmorgen aan beginnen, wie wil helpen, ga je gang.
ik kan zo in ASP een scripje maken die dat kan, is SIM-PEL

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 08:34

.oisyn

Moderator Devschuur®

Demotivational Speaker

waarom cgi of asp :?

.edit: waarom webscripting :?

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • .oisyn
  • Registratie: September 2000
  • Laatst online: 08:34

.oisyn

Moderator Devschuur®

Demotivational Speaker

ik kan wel een x-bits vermenigvuldiger en deler schrijven...

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • Explore
  • Registratie: Maart 2001
  • Laatst online: 08-04-2011

Explore

Op zoek naar werk

Ik zal er wel niks van begrepen hebben, maar het is toch zo dat als je 2 priemgetallen met elkaar vermenigvuldigd, dat het product (produkt?) alleen deelbaar is door de 2 gezochte getallen en 1 en de gevonden uitkomst zelf. De RSA-code is dus een priemgetal wat het product is van de twee gezochte factoren (ook priemgetallen), right?

Is het dan niet voldoende om te zoeken naar een getal waar de RSA-code deelbaar door is? Als je een getal hebt, dan heb je het andere ook. Is het dus niet voldoende om een algoritme te bedenken die erg grote getallen kan delen door andere grote getallen (wat natuurlijk allang gedaan is)?

Ik zie even niet waarom een programma veel geheugenruimte nodig heeft om dat soort dingen uit te rekeken. Ook niet waarom dat zo extreem lang zou duren (215.000 computers in 1 jaar = 1 computer in 215.000 jaar). En waarom zou je zelf naar priemgetallen zoeken? Dat hebben ze bij de RSA al voor ons gedaan: die komen wel uit die deling rollen. 't Is te laat om na te denken, dus ik zal er wel naast zitten.

[ specs ] [ Tweaker gallery ]


  • Aetje
  • Registratie: September 2001
  • Laatst online: 18-12-2025

Aetje

Troubleshooting met HAMERRR

*gaap*
Stap 1: Defineer een integer type met een zodoende lengte dat het getal er in past. Gebruik dit integer type voor alle berekeningen met het getal. Daarna is het gewoon loopen.

temp=1;
While (getal/2!=temp){
temp++;
if (getal%temp==0) {
if checkprime(temp) if checkprime(getal/temp) gevonden(temp,getal/temp);
}
}
En dan maar laten lopen. Ps procedures die niet ingevuld zijn zijn niet zo moeilijk. (checkprime-> controleert of getalletje een prime is (slaat even getallen over, rest is gewoon brute force checking) en gevonden is uitvoer.

Forget your fears...
...and want to know more...


  • .oisyn
  • Registratie: September 2000
  • Laatst online: 08:34

.oisyn

Moderator Devschuur®

Demotivational Speaker

Op donderdag 01 november 2001 01:57 schreef Explore het volgende:
Ik zal er wel niks van begrepen hebben, maar het is toch zo dat als je 2 priemgetallen met elkaar vermenigvuldigd, dat het product (produkt?) alleen deelbaar is door de 2 gezochte getallen en 1 en de gevonden uitkomst zelf. De RSA-code is dus een priemgetal wat het product is van de twee gezochte factoren (ook priemgetallen), right?
right
Is het dan niet voldoende om te zoeken naar een getal waar de RSA-code deelbaar door is? Als je een getal hebt, dan heb je het andere ook. Is het dus niet voldoende om een algoritme te bedenken die erg grote getallen kan delen door andere grote getallen (wat natuurlijk allang gedaan is)?
yup, dat is ook ongeveer wat we gaan doen
Ik zie even niet waarom een programma veel geheugenruimte nodig heeft om dat soort dingen uit te rekeken. Ook niet waarom dat zo extreem lang zou duren (215.000 computers in 1 jaar = 1 computer in 215.000 jaar). En waarom zou je zelf naar priemgetallen zoeken? Dat hebben ze bij de RSA al voor ons gedaan: die komen wel uit die deling rollen. 't Is te laat om na te denken, dus ik zal er wel naast zitten.
Die getallen zijn IMMENS groot, als je simpel een deler probeert te vinden door ze allemaal te gaan proberen ben je echt JAREN bezig.
Wat wij hier dus al hebben uitgeschreven is welke getallen je kunt overslaan, dat scheelt een hoop tijd. Hier is idd niet veel geheugen voor nodig.

De snelste methode die bekend is gebruikt een gigantisch grote matrix, en DAAR is al dat geheugen voor nodig. Over die methode hebben behoorlijk wat slimme mensen over nagedacht, dus ga niet denken dat die van ons ook maar in de buurt komt van die snelheid :)

Voordeel van onze methode is wel dat het makkelijk te distributen is en dat er weinig geheugen voor nodig is

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • marcusk
  • Registratie: Februari 2001
  • Laatst online: 26-09-2023
Op donderdag 01 november 2001 01:57 schreef Explore het volgende:De RSA-code is dus een priemgetal wat het product is van de twee gezochte factoren (ook priemgetallen), right?
[miereneukmode]
de RSA-code zelf is dus geen priemgetal (want het is deelbaar door de gezochte getallen)
[/miereneukmode]

Verwijderd

Ff plagen. :)
Op donderdag 01 november 2001 01:57 schreef Explore het volgende:
De RSA-code is dus een priemgetal wat het product is van de twee gezochte factoren (ook priemgetallen), right?
Wrong. >:) Het product van twee priemgetallen kan nooit een priemgetal zijn. De RSA-code is dus zeker geen priemgetal.

Ik zie dat er hier geprobeerd wordt om die code te ontbinden in priemfactoren door die te benaderen als:
C = P1 * P2
P1 = g + d
P2 = g - d
waarbij:
g = (P1 + P2) / 2
g > d
dan krijg je dus inderdaad:
C = (g + d) * (g - d) = g2 - d2 =>
d = (g2 - C)1/2

Maar dat betekent dat je een functie moet schrijven die uit de RSA-code C een middelwaarde g berekent, dus:
f(C) = g of nog beter f(C) = g2
Het probleem bij het schrijven van die functie is dat er in de verhouding tussen C en g geen patroon te bekennen is, ze is even onvoorspelbaar als de verdeling van de priemgetallen over de natuurlijke getallen zelf. Je bent dus nog even ver van huis.

<edit>
Als je dit echt serieus wilt aanpakken zou ik een zg. MPQS (Multiple Polynomial Quadratic Sieve) of een NFS (Number Field Sieve) proberen te implementeren, dan heb je nog enige hoop. RSA-129 is gekraakt met een PPMPQS, RSA-140 met een NFS.
</edit>

  • Vuurvlieg
  • Registratie: Januari 2000
  • Laatst online: 05-06 15:09
[lol]
gewoon alle priemgetallen tot grote getal/3 in db stoppen en dan query: select x,y from priem where x*y=grote getal;

is dat nou zo moeilijk? :Y)
[/lol]

  • rjsomeone
  • Registratie: Juli 2001
  • Laatst online: 20-11-2023

rjsomeone

a.k.a. Tuslsh

M'n algoritme is niet goed:

Volgens mij is dit wel goed:

Je neemt alle getallen tot de helft van het getal, en dan alle de getallen eindigend op (1 of 7) en (3 of 9).
Dus je hoeft maar 2 eindcijfers te controleren, dat betekent dat je 1/10 aantal getallen van het gehele getal moet controleren. Kan het met minder?

Hier had uw advertentie kunnen staan :).


  • rjsomeone
  • Registratie: Juli 2001
  • Laatst online: 20-11-2023

rjsomeone

a.k.a. Tuslsh

Op donderdag 01 november 2001 01:33 schreef OiSyN het volgende:
waarom cgi of asp :?

.edit: waarom webscripting :?
Omdat we er wel een distributed programma van willen maken, maar niet een server hebben waarop je gewone c++ of vb programma's kan draaien..

Hier had uw advertentie kunnen staan :).


  • Gerco
  • Registratie: Mei 2000
  • Laatst online: 14-09 17:42

Gerco

Professional Newbie

Op donderdag 01 november 2001 07:47 schreef rjsomeone het volgende:
Omdat we er wel een distributed programma van willen maken, maar niet een server hebben waarop je gewone c++ of vb programma's kan draaien..
Ow? Hebben we dat niet :+

Er zijn hier heel wat tweakers met hun eigen server ergens in een rek staan. En nog VEEL meer met een servertje thuis :)

[flame mode]
Of je er VB op kan draaien is inderdaad te betwijfelen. Een windows server zonder dat je direct bij de resetknop kan is mijns inziens een slecht idee. Tenzij je elk weekeinde down wilt zijn :)
[/flame mode]

- "Als ik zou willen dat je het begreep, legde ik het wel beter uit!" | All number systems are base 10!


  • rjsomeone
  • Registratie: Juli 2001
  • Laatst online: 20-11-2023

rjsomeone

a.k.a. Tuslsh

Op donderdag 01 november 2001 07:52 schreef Gerco het volgende:

[..]

Ow? Hebben we dat niet :+

Er zijn hier heel wat tweakers met hun eigen server ergens in een rek staan. En nog VEEL meer met een servertje thuis :)

[flame mode]
Of je er VB op kan draaien is inderdaad te betwijfelen. Een windows server zonder dat je direct bij de resetknop kan is mijns inziens een slecht idee. Tenzij je elk weekeinde down wilt zijn :)
[/flame mode]
Hm ok, maar wat is er mis met een cgi'tje? Stabiel redelijk snel ook... en het uitreken progje in java?

Btw.. als we niet gelijk de moeilijkste doen, maar ff simpel beginnen :), dan zijn de eindcijfers waar we op moeten zoeken: 3,7 en (9 of 1). (Dus 3,7,9 of 3,7,1. Welke van de 2 maakt dus niet uit, maar ik denk dat een eindcijfer 1 sneller gaat dan een eindcijfer 9(??))

Hier had uw advertentie kunnen staan :).


  • Explore
  • Registratie: Maart 2001
  • Laatst online: 08-04-2011

Explore

Op zoek naar werk

marcusk:
[miereneukmode]
de RSA-code zelf is dus geen priemgetal (want het is deelbaar door de gezochte getallen)
[/miereneukmode]
Ja, dat lag aan de tijd... *YAWN* Ik bedoel, ik zeg het notabene zelf:
Op donderdag 01 november 2001 01:57 schreef Explore het volgende:
Ik zal er wel niks van begrepen hebben, maar het is toch zo dat als je 2 priemgetallen met elkaar vermenigvuldigd, dat het product (produkt?) alleen deelbaar is door de 2 gezochte getallen en 1 en de gevonden uitkomst zelf.
Maargoed, dan zat ik er toch niet naast... Wonderbaarlijk! :?

[ specs ] [ Tweaker gallery ]


  • Explore
  • Registratie: Maart 2001
  • Laatst online: 08-04-2011

Explore

Op zoek naar werk

Op donderdag 01 november 2001 02:12 schreef Aetje het volgende:
*gaap*
Stap 1: Defineer een integer type met een zodoende lengte dat het getal er in past. Gebruik dit integer type voor alle berekeningen met het getal. Daarna is het gewoon loopen.

temp=1;
While (getal/2!=temp){
temp++;
if (getal%temp==0) {
if checkprime(temp) if checkprime(getal/temp) gevonden(temp,getal/temp);
}
}
En dan maar laten lopen. Ps procedures die niet ingevuld zijn zijn niet zo moeilijk. (checkprime-> controleert of getalletje een prime is (slaat even getallen over, rest is gewoon brute force checking) en gevonden is uitvoer.
Precies ja. Maar ZO brute force zou ik het niet aanpakken. Het is verder wel het idee.

Wat ik dus niet vat he... Wat men zegt is dat het met brute-force erg lang duurt. Maar ik neem aan dat die 2 getallen daadwerkelijk bestaan. Stel nou dat je ze toevallig (random?) vind? 8-)

[ specs ] [ Tweaker gallery ]


  • rjsomeone
  • Registratie: Juli 2001
  • Laatst online: 20-11-2023

rjsomeone

a.k.a. Tuslsh

Op donderdag 01 november 2001 08:32 schreef Explore het volgende:

[..]

Precies ja. Maar ZO brute force zou ik het niet aanpakken. Het is verder wel het idee.

Wat ik dus niet vat he... Wat men zegt is dat het met brute-force erg lang duurt. Maar ik neem aan dat die 2 getallen daadwerkelijk bestaan. Stel nou dat je ze toevallig (random?) vind? 8-)
Dat zou opzich wel kunnen, misschien is een van de priemgetallen wel een getal onder de 100, of onder de 1000, dan hebben we 't getal gevonden in 1 minuut ongeveer.. Alleen is de kans erop heel klein...

Hier had uw advertentie kunnen staan :).


  • Explore
  • Registratie: Maart 2001
  • Laatst online: 08-04-2011

Explore

Op zoek naar werk

rjsomeone:
Dat zou opzich wel kunnen, misschien is een van de priemgetallen wel een getal onder de 100, of onder de 1000, dan hebben we 't getal gevonden in 1 minuut ongeveer.. Alleen is de kans erop heel klein...
Ja, dat besef ik me wel weer... Maar als jullie zo'n ding willen maken zou ik haast willen suggereren om met elk 'paketje' een paar random getallen mee te sturen. Stel je voor... :)

Hoe dan ook. Ik zie nog niet helemaal voor ogen hoe zo'n programmatje er uit ziet wat met zulke grote getallen kan rekenen. Maar ik kan me wel voorstellen dat 1 deling niet erg lang duurt. Een fractie van een seconde bv. Met een combinatie van brute-force, getallen er uit shiften die onmogelijk een goed antwoord op kunnen leveren en een beetje geluk kom je een heel eind...

* Explore gaat later vandaag toch proberen uit te rekenen hoe lang zoiets zou duren.

Ja, ik heb wat berekeningen gezien, maar ik ben pas overtuigd als ik zelf tot zo'n uitkomst kom. >:)

[ specs ] [ Tweaker gallery ]


Verwijderd

Op donderdag 01 november 2001 02:12 schreef Aetje het volgende:
temp=1;
While (getal/2!=temp)
{
temp++;
if (getal%temp==0)
{
if checkprime(temp)
if checkprime(getal/temp)
gevonden(temp,getal/temp);
}
}
[..]
Beetje veel overbodigheid. Na if(getal%temp==0) weet je al of je 1 van de priemgetallen hebt.

Verwijderd

Op donderdag 01 november 2001 08:46 schreef Explore het volgende:

[..]
Hoe dan ook. Ik zie nog niet helemaal voor ogen hoe zo'n programmatje er uit ziet wat met zulke grote getallen kan rekenen. Maar ik kan me wel voorstellen dat 1 deling niet erg lang duurt. Een fractie van een seconde bv. Met een combinatie van brute-force, getallen er uit shiften die onmogelijk een goed antwoord op kunnen leveren en een beetje geluk kom je een heel eind...
Juist als je zo ontzettend veel berekeningen moet doen is het mega belangrijk dat je algoritme optimaal is (geen overbodige berekeningen, beginnen met getallen die hoge verwachtingen hebben, etc.). Alle verloren tijd met uitdenken haal je tijdens die weken dat de boel loopt to weer in.

Verwijderd

ok. we hebben in dit draadje 2 methodes gezien.
1. alle priemgetallen af gaan totdat je de juiste heb.
2. zoeken hoe ver die priemgetallen uit elkaar liggen.

1 heeft waarschijnlijk als voordelen dat het sneller is, en dat de code makkelijker te maken is.
2 heeft als voordelen dat je maar 1 formule nodig hebt, dat het makkelijker te distrubueren is, dat je minder database ruimte nodig heb en dat je er makkelijker random pakketjes mee kunt kraken (voor als de keyserver dood is).

Persoonlijk ben ik voor idee 2. (Voor de rede zie eerder in deze thread :))

Verwijderd

Topicstarter
Op donderdag 01 november 2001 08:58 schreef GHOst. het volgende:
ok. we hebben in dit draadje 2 methodes gezien.
1. alle priemgetallen af gaan totdat je de juiste heb.
2. zoeken hoe ver die priemgetallen uit elkaar liggen.

1 heeft waarschijnlijk als voordelen dat het sneller is, en dat de code makkelijker te maken is.
2 heeft als voordelen dat je maar 1 formule nodig hebt, dat het makkelijker te distrubueren is, dat je minder database ruimte nodig heb en dat je er makkelijker random pakketjes mee kunt kraken (voor als de keyserver dood is).

Persoonlijk ben ik voor idee 2. (Voor de rede zie eerder in deze thread :))
Ja, maar hebben we dan al iets, dat een integer aan kan van 600 bytes :?

  • ronaldmathies
  • Registratie: Juni 2001
  • Niet online
Ik wil best helpen voor gratis aan de ontwikkeling (Java variant ofzo ?!?), de communicatie met een centrale server is toch taal onafhankelijk. En ik hoef er nieteens iets voor hebben, soms moet je zoiets maken puur voor de uitdaging en al win je dan niet je hebt er toch een goed gevoel over.

3015 Wp-z 5360 Wp-nno op 2 x SMA-SB3600 TL-21, Warmtepomp: ERSC-VM2CR2 / PUHZ-SHW140 YHA, WTW Q350, EV Kia Ev6 GT-Line


  • ronaldmathies
  • Registratie: Juni 2001
  • Niet online
Waarom gaat iedereen hier elke keer die prime berekening neerzetten, je gebruikt toch gewoon een file die deze nummers bevat die zijn overal te downloaden :

Check de volgende site maar even :

http://www.geocities.com/ResearchTriangle/Thinktank/2434/prime/primenumbers.html

Alle prime nummers tot 6 miljoen, nou ik denk dat alle twee de nummer daar wel in zullen zitten.

3015 Wp-z 5360 Wp-nno op 2 x SMA-SB3600 TL-21, Warmtepomp: ERSC-VM2CR2 / PUHZ-SHW140 YHA, WTW Q350, EV Kia Ev6 GT-Line


Verwijderd

Topicstarter
Op donderdag 01 november 2001 09:18 schreef ronaldmathies het volgende:
Waarom gaat iedereen hier elke keer die prime berekening neerzetten, je gebruikt toch gewoon een file die deze nummers bevat die zijn overal te downloaden :

Check de volgende site maar even :

http://www.geocities.com/ResearchTriangle/Thinktank/2434/prime/primenumbers.html

Alle prime nummers tot 6 miljoen, nou ik denk dat alle twee de nummer daar wel in zullen zitten.
dat weet je niet, voor hetzelfde geld, is de ene 3 en de ander 32458742342392398 ofzo

  • Gerco
  • Registratie: Mei 2000
  • Laatst online: 14-09 17:42

Gerco

Professional Newbie

Op donderdag 01 november 2001 09:18 schreef ronaldmathies het volgende:
Alle prime nummers tot 6 miljoen, nou ik denk dat alle twee de nummer daar wel in zullen zitten.
ff voor de lol:

stel A en B zijn beide priemgetallen van de ordegrootte 10^6, vermenigvuldig A met B en je krijgt een getal van de orde 10^12, heeft dat 174 cijfers?

Je zult priemgetallen van de orde 10^80 ofzo krijgen (of 3 en 10^173 ofzo :+ )

Ik geloof toch dat een aantal mensen hier de omvang van het probleem niet helemaal begrijpen.

- "Als ik zou willen dat je het begreep, legde ik het wel beter uit!" | All number systems are base 10!


  • Skinkie
  • Registratie: Juni 2001
  • Laatst online: 09-06-2020

Skinkie

Op naar de 500

Iemand vroeg wat de wortel nou eigenlijk was:

Vierkants wortel = X^0,5

En dat komt van: X^(1/2) omgekeerde van wortel X^2

echter als je um gaat verkleinen gebeurd er dit:

RSA^0,5 = (PriemA * PriemB)^0,5

Dus ik vraag me af: Je verkleint alleen de getallen... verdwijnt je preciesie niet? Want anders kun je het getal nog veeeeeeeeeeeeeeeeeeeel kleiner maken:

<Geniaal idee mode>
Als je als de wortel deler nou is een priem getal neemt...
En dan een heel groot priemgetal neemt en ze dan afgaat?
(Weet ook niet of het zin heeft... maar staat wel leuk)
RSA^(1/13) = (PriemA * PriemB)^(1/13)
</Geniaal idee mode>

Steun Elkaar, Kopieer Nederlands Waar!


Verwijderd

Op donderdag 01 november 2001 09:18 schreef ronaldmathies het volgende:
Waarom gaat iedereen hier elke keer die prime berekening neerzetten, je gebruikt toch gewoon een file die deze nummers bevat die zijn overal te downloaden :

Check de volgende site maar even :

http://www.geocities.com/ResearchTriangle/Thinktank/2434/prime/primenumbers.html

Alle prime nummers tot 6 miljoen, nou ik denk dat alle twee de nummer daar wel in zullen zitten.
Ik denk het niet hoor. Een van de priemgetallen ligt iig tussen 1 en 5 E 89. Reken zelf maar uit dat 9 miljoen slechts een schijntje is vergeleken met 5E89.

Verwijderd

Op donderdag 01 november 2001 09:24 schreef KixAss456 het volgende:

[..]

dat weet je niet, voor hetzelfde geld, is de ene 3 en de ander 32458742342392398 ofzo
dan zit 3 toch bij de getallen die je hebt?
maar 6.000.000^2 = 36.000.000.000.000 < de code die we zoeken (en niet zo'n beetje ook). Grotere priemgetallen uitrekenen kost al veel tijd en/of heel erg veel geheugen.
Op donderdag 01 november 2001 09:16 schreef KixAss456 het volgende:

[..]

Ja, maar hebben we dan al iets, dat een integer aan kan van 600 bytes :?
Ja en nee. Om een getal van 600 bytes aan te kunnen, kyn je denk ik het beste "handmatig" gaan rekenen. Hiermee bedoel ik een array van integers pakken, en daarin op iedere plaats in het array een getal te plaatsen wat tussen de 0 en de 9 zit (inclusief) en daarmee gaan rekenen. Het is misschien veel werk en moeilijk te maken, maar dat is beter dan niets.
En waarom toch steeds dat grootste getal? als we het kleinste getal weten te kraken is dat toch ook al goed? dan hebben we in ieder geval bewezen dat we het kunnen. En dan kunnen we vanzelf doorgaan met grotere getallen.

Verwijderd

Topicstarter
Op donderdag 01 november 2001 09:48 schreef GHOst. het volgende:

[..]

dan zit 3 toch bij de getallen die je hebt?
maar 6.000.000^2 = 36.000.000.000.000 < de code die we zoeken (en niet zo'n beetje ook). Grotere priemgetallen uitrekenen kost al veel tijd en/of heel erg veel geheugen.
[..]

Ja en nee. Om een getal van 600 bytes aan te kunnen, kyn je denk ik het beste "handmatig" gaan rekenen. Hiermee bedoel ik een array van integers pakken, en daarin op iedere plaats in het array een getal te plaatsen wat tussen de 0 en de 9 zit (inclusief) en daarmee gaan rekenen. Het is misschien veel werk en moeilijk te maken, maar dat is beter dan niets.
En waarom toch steeds dat grootste getal? als we het kleinste getal weten te kraken is dat toch ook al goed? dan hebben we in ieder geval bewezen dat we het kunnen. En dan kunnen we vanzelf doorgaan met grotere getallen.
Jep, die kleine kan ook, ik gebruikte alleen ff die grote als voorbeeld :)

Maar voor de rest, het moet werken (in theorie :P )

  • Munters
  • Registratie: September 2000
  • Laatst online: 17-08 13:56
Op donderdag 01 november 2001 09:18 schreef ronaldmathies het volgende:
Waarom gaat iedereen hier elke keer die prime berekening neerzetten, je gebruikt toch gewoon een file die deze nummers bevat die zijn overal te downloaden :

Check de volgende site maar even :

http://www.geocities.com/ResearchTriangle/Thinktank/2434/prime/primenumbers.html

Alle prime nummers tot 6 miljoen, nou ik denk dat alle twee de nummer daar wel in zullen zitten.
Dat denk ik niet. Dat geeft maximaal een getal 36*10^12 en dat is "iets" kleiner dan het gezochte produkt. Een factor 10^588 ongeveer.

Afgezien daarvan: het aanmaken van een file met alle priemen tot 6 miljoen kost hier 0,50 sec op een 500Mhz Linux bak. Ik weet niet hoe snel jouw internet verbinding is, maar de file is 3213276 bytes groot, dus als jij 6MB/s over kan pompen...

Uit een heldere opzet met begrijpelijke algoritmes volgt logischerwijs een correct programma. Testen daarentegen kan enkel gebruikt worden om fouten aan te tonen.


  • Explore
  • Registratie: Maart 2001
  • Laatst online: 08-04-2011

Explore

Op zoek naar werk

KixAss456:
dat weet je niet, voor hetzelfde geld, is de ene 3 en de ander 32458742342392398 ofzo
Dat weet ik wel: 32458742342392398 is geen priemgetal. :)

Maar rondaldmathies moet z'n naam meer eer aan gaan doen. 6 miljoen zijn 7 cijfers. Leuk, maar we hebben het hier over een getal van meer dan 700 cijfers! Dus vergeet die priemgetallen nou maar. Het uitrekenen van zulke grote priemgetallen duurt al een eeuwigheid. Dat is niet de methode...

[ specs ] [ Tweaker gallery ]


  • Munters
  • Registratie: September 2000
  • Laatst online: 17-08 13:56
Op donderdag 01 november 2001 09:16 schreef KixAss456 het volgende:

[..]

Ja, maar hebben we dan al iets, dat een integer aan kan van 600 bytes :?
Wat denk je, dat is toch al een ziljoen maal gemaakt?
Zoek maar eens op Arbitrary Precision Math Library ofzo.
Google's "ik ga er voor" levert er al eentje in c, die uit 1995 stamt en tot 1600 decimalen gaat.

Uit een heldere opzet met begrijpelijke algoritmes volgt logischerwijs een correct programma. Testen daarentegen kan enkel gebruikt worden om fouten aan te tonen.


  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

Heb ergens nog wel een stuk of 7 priem getallen die behoren bij het 2e complexe getal. ( Die van $20.000 beloning geloof ik... )

Heb er met mijn computer ongeveer een uur of 4 over gedaan om die getallen te vinden. ( P2 - 300Mhz )

Heb alleen verder geen tijd er meer aanbesteed, denk dat ik het toch eens moet doen :+

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


  • rjsomeone
  • Registratie: Juli 2001
  • Laatst online: 20-11-2023

rjsomeone

a.k.a. Tuslsh

Op donderdag 01 november 2001 10:51 schreef dusty het volgende:
Heb ergens nog wel een stuk of 7 priem getallen die behoren bij het 2e complexe getal. ( Die van $20.000 beloning geloof ik... )

Heb er met mijn computer ongeveer een uur of 4 over gedaan om die getallen te vinden. ( P2 - 300Mhz )

Heb alleen verder geen tijd er meer aanbesteed, denk dat ik het toch eens moet doen :+
Wat bedoel je?

Hier had uw advertentie kunnen staan :).


  • rjsomeone
  • Registratie: Juli 2001
  • Laatst online: 20-11-2023

rjsomeone

a.k.a. Tuslsh

Op donderdag 01 november 2001 08:58 schreef GHOst. het volgende:
ok. we hebben in dit draadje 2 methodes gezien.
1. alle priemgetallen af gaan totdat je de juiste heb.
2. zoeken hoe ver die priemgetallen uit elkaar liggen.

1 heeft waarschijnlijk als voordelen dat het sneller is, en dat de code makkelijker te maken is.
2 heeft als voordelen dat je maar 1 formule nodig hebt, dat het makkelijker te distrubueren is, dat je minder database ruimte nodig heb en dat je er makkelijker random pakketjes mee kunt kraken (voor als de keyserver dood is).

Persoonlijk ben ik voor idee 2. (Voor de rede zie eerder in deze thread :))
Methode 1 kan 1 op 10, (verhouding aantal te onderzoeken egtallen: grootte rsa getal)
Methode 2 kan volgens mij nog kleiner.. omdat zoals ik eerder heb gezegd, je een kleiner gebied dan het halve gebied van het rsa getal moet uitzoeken.
Ik ga dus ook voor methode 2, nu alleen nog verder uitzoeken hoe we die zo snel mogelijk maken...

Hier had uw advertentie kunnen staan :).


  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

Op donderdag 01 november 2001 10:55 schreef rjsomeone het volgende:
Wat bedoel je?
Dat men verkeerde algortimen wil gebruiken hier, Dat men de RSA opdracht niet helemaal begrepen heeft.

Het getal van de RSA is opgebouwd uit verschillende priemgetallen. Dus het kunnen er ook MEER dan 2 zijn.

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


  • rjsomeone
  • Registratie: Juli 2001
  • Laatst online: 20-11-2023

rjsomeone

a.k.a. Tuslsh

Op donderdag 01 november 2001 10:58 schreef dusty het volgende:

[..]

Dat men verkeerde algortimen wil gebruiken hier, Dat men de RSA opdracht niet helemaal begrepen heeft.

Het getal van de RSA is opgebouwd uit verschillende priemgetallen. Dus het kunnen er ook MEER dan 2 zijn.
Ja? Hm.. dat is misschien wel een handige opmerking ja :)
Als dat zo is wordt het volgens mij alleen maar makkelijker, je hoeft namelijk kleinere getallen te onderzoeken. Kan je een aantal van die priemen posten die je gevonden hebt?

Hier had uw advertentie kunnen staan :).


  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

Op donderdag 01 november 2001 11:00 schreef rjsomeone het volgende:
Ja? Hm.. dat is misschien wel een handige opmerking ja :)
Als dat zo is wordt het volgens mij alleen maar makkelijker, je hoeft namelijk kleinere getallen te onderzoeken. Kan je een aantal van die priemen posten die je gevonden hebt?
Ik zla kijken of ik de priem getallen nog thuis heb liggen en of ik ut niet zelf wil afmaken >:)

Ik geloof dat de 4e priem getal al iets van 7 cijfers had ofzo.. dus alleen de "kleinere" getallen, vrees dat je je daarop verkijkt ;)

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


  • rjsomeone
  • Registratie: Juli 2001
  • Laatst online: 20-11-2023

rjsomeone

a.k.a. Tuslsh

Op donderdag 01 november 2001 10:58 schreef dusty het volgende:

[..]

Dat men verkeerde algortimen wil gebruiken hier, Dat men de RSA opdracht niet helemaal begrepen heeft.

Het getal van de RSA is opgebouwd uit verschillende priemgetallen. Dus het kunnen er ook MEER dan 2 zijn.
Ja, je hebt gelijk.. alleen of het nou makkelijker of moeilijker wordt weet ik niet.. want het distributed idee van dit project komt dan een beetje in gevaar..
stel je hebt het getal 4641 (is product van 3,7,13 en 17)
Hoe kan je dit distributed berekenen? Nog steeds door iedereen pakketjes mee te geven met verschillende getallen? Of is het niet meer mogelijk dit "los van elkaar" te berekenen. Moet je dit nu in volgorde bereken, dat je bij 2 begint, en zo omhoog telt totdat je een factor gevonden hebt, het rsa getal delen door die factor, en voor die uitkomst weer een factor zoeken, beginnend bij 2 en dan omhoog?

Hier had uw advertentie kunnen staan :).


Verwijderd

Op donderdag 01 november 2001 11:10 schreef rjsomeone het volgende:

[..]

Ja, je hebt gelijk.. alleen of het nou makkelijker of moeilijker wordt weet ik niet.. want het distributed idee van dit project komt dan een beetje in gevaar..
stel je hebt het getal 4641 (is product van 3,7,13 en 17)
Hoe kan je dit distributed berekenen? Nog steeds door iedereen pakketjes mee te geven met verschillende getallen? Of is het niet meer mogelijk dit "los van elkaar" te berekenen. Moet je dit nu in volgorde bereken, dat je bij 2 begint, en zo omhoog telt totdat je een factor gevonden hebt, het rsa getal delen door die factor, en voor die uitkomst weer een factor zoeken, beginnend bij 2 en dan omhoog?
Nee elk priemgetal dat een deler is van de code is uniek.
Als iemand alle getallen tussen 0 en 1.000.000 gevonden heeft die een deler zijn van de code dan hoeft iemand anders dat niet meer te doen.

Verwijderd

Op donderdag 01 november 2001 10:58 schreef dusty het volgende:

[..]

Dat men verkeerde algortimen wil gebruiken hier, Dat men de RSA opdracht niet helemaal begrepen heeft.

Het getal van de RSA is opgebouwd uit verschillende priemgetallen. Dus het kunnen er ook MEER dan 2 zijn.
Van de RSA site:
The RSA Factoring challenge is an effort, sponsored by RSA Laboratories, to learn about the actual difficulty of factoring large numbers of the type used in RSA keys. A set of eight challenge numbers, ranging in size from 576 bits to 2048 bits is posted here. Each number is the product of two large primes, similar to the modulus of an RSA key pair

  • Explore
  • Registratie: Maart 2001
  • Laatst online: 08-04-2011

Explore

Op zoek naar werk

Dit gaat nergens over. Volgens mijn berekeningen is 4641 deelbaar door het volgende getallen:
code:
1
2
3
4
5
6
7
8
9
10
11
12
3
7
13
17
21
39
51
91
119
221
273
357

Bij mijn weten gaat het toch echt om 2 priemgetallen en niet meer dan 2 getallen!

Hier een simpel stukje brute-force PHP code ('k was lui) om dat soort dingen uit te rekenen:
PHP:
1
2
3
4
5
6
7
8
9
<?
    $code = 4641;
    echo "Code to crack: $code<br>Factors:<br>";
    $dcode = round(4641/10);
    if ($dcode % 2 == 0) $dcode++;
    for ($i = 3; $i <= $dcode; $i += 2) {
        if ($code % $i == 0) echo "$i<br>";
    }
?>

Pak zelf eens 2 priemgetallen, vermenigvuldig die met elkaar en voer die uitkomst in in bovenstaand programma. Dat ding spuugt ze dan weer uit. Niet meer en niet minder.

Edit: hm, toch niet. Stukje code werkt niet goed. :) Never mind, maar 't wel het idee. Alleen dan wat slimmer zoeken, ipv. zo straight forward.

[ specs ] [ Tweaker gallery ]


  • rjsomeone
  • Registratie: Juli 2001
  • Laatst online: 20-11-2023

rjsomeone

a.k.a. Tuslsh

Op donderdag 01 november 2001 11:27 schreef GHOst. het volgende:

[..]

Van de RSA site:
[..]
'k ben weer lekker wakker |:( .. ok, sorry voor foute informatie

Hier had uw advertentie kunnen staan :).


Verwijderd

Op donderdag 01 november 2001 11:29 schreef Explore het volgende:
Dit gaat nergens over. Volgens mijn berekeningen is 4641 deelbaar door het volgende getallen:
code:
1
2
3
4
5
6
7
8
9
10
11
12
3
7
13
17
21
39
51
91
119
221
273
357

[..]
als je al deelt door 3 en 7 kun je niet meer delen door 21.
om het ff anders te stellen:
geen priem: 21, 39, 51, 91, 119, 221,273, 357
echte delers (en dus priemen): 3, 7, 13, 17

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

Op donderdag 01 november 2001 11:29 schreef Explore het volgende:
Dit gaat nergens over. Volgens mijn berekeningen is 4641 deelbaar door het volgende getallen:
code:
1
2
3
4
5
6
7
8
9
10
11
12
3
7
13
17
21
39
51
91
119
221
273
357

Bij mijn weten gaat het toch echt om 2 priemgetallen en niet meer dan 2 getallen!
Bij mijn weten zijn 21,39,51,91,119,221,273 en 357 allen opgebouwd uit de 3,7,13 en 17 priem getallen >:)

Bovendien op de RSA site geven ze een mooie voorbeeld. (jawel lezen IS moeilijk)
A non-prime, or composite number, can be written as the product of smaller primes, known as its prime factors. 665, for example is the product of the primes 5, 7, and 19. A number is said to be factored when all of its prime factors are identified. As the size of the number increases, the difficulty of factoring increases rapidly.
Maar ga jij maar lekker zoeken naar 2 priem getallen die samen de oplossing vormen hoor >:)

Zoals ik al zei, bij die van de $20.000 had ik de eerste 7 priem getallen die erbij hoorden al gevonden. Dus ik WEET dat ik gelijk heb.

edit:
mmm.. fladder was sneller >:) dat krijg je als ik ook eens echt werk tussen het gotten door.. :+

Of was het nou andersom?

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


  • Explore
  • Registratie: Maart 2001
  • Laatst online: 08-04-2011

Explore

Op zoek naar werk

Op donderdag 01 november 2001 11:46 schreef fladder het volgende:

[..]

als je al deelt door 3 en 7 kun je niet meer delen door 21.
om het ff anders te stellen:
geen priem: 21, 39, 51, 91, 119, 221,273, 357
echte delers (en dus priemen): 3, 7, 13, 17
Leuk, maar die RSA-code is alleen deelbaar door 2 priemgetallen. Ter demonstratie nu het volgende proggy:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?
<html>
<head>
    <title>Factors of Prime</title>
</head>
<body>
    <div id="lyrI" style="position:absolute"></div>
    <br>
<?php
    $code = 195992431;
    echo "Code to crack: $code<br>";
    $dcode = round($code/10);
    if ($dcode % 2 == 0) $dcode++;
    echo "Search to: $dcode<br>Factors:";
    $j = 0;
    for ($i = 3; $i <= $dcode; $i += 2) {
        if (($code % $i) == 0) {
            echo "$i and ".$code/$i."<br>";
            exit;
        }
        if (($j % 10) == 0) echo "<script>lyrI.innerHTML=$i</script>\n";
        flush();
        $j++;
    }
?>
</body>
</html>
?>

De 2 getallen die hier uitrollen zijn inderdaad de 2 priemgetallen die ik met elkaar vermenigvuldigd heb om aan 195992431 te komen. PHP choked bij grotere getallen. Het zaakje klopt dan niet meer. Maar dat is ook maar effe ter demonstratie...

[ specs ] [ Tweaker gallery ]


  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

Op donderdag 01 november 2001 11:53 schreef Explore het volgende:
Leuk, maar die RSA-code is alleen deelbaar door 2 priemgetallen. Ter demonstratie nu het volgende proggy:
hier heb jij dan een uitdaging: Quote jij eens het gedeelte van de RSA website waar staat dat het maar 2 priem getallen zijn >:). Ohja vergeet niet de link erbij te geven. Veel zoek plezier.

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


  • Explore
  • Registratie: Maart 2001
  • Laatst online: 08-04-2011

Explore

Op zoek naar werk

Op donderdag 01 november 2001 11:55 schreef dusty het volgende:

[..]

hier heb jij dan een uitdaging: Quote jij eens het gedeelte van de RSA website waar staat dat het maar 2 priem getallen zijn >:). Ohja vergeet niet de link erbij te geven. Veel zoek plezier.
Zie post van Ghost hierboven...

[ specs ] [ Tweaker gallery ]


Verwijderd

Voor degenen die nog steeds twijfelen:
How do I submit a completed factorization?
If you have completed the factorization of a challenge number, you must submit the result to RSA Labs for verification. A submission form is available at http://www.rsasecurity.com/go/factorization.html.

Enter the name(s) of the submitter(s), the challenge number factored, the two factors, and an e-mail address at which RSA Labs may contact you. In addition, please enter a brief description of the method and resources used in the factorization.
edit:

En voor de mensen die al een heleboel factoren hebben:
kijk je algoritme nog maar eens goed na :)


http://www.rsasecurity.com/rsalabs/challenges/factoring/faq.html#Submit

Verwijderd

ik denk dat ik dit maar eens in matlab ga doen...

zeer sterk reken programma die met zulke grote getallen om kan gaan.

matrix maken met alle priemgetallen tussen 2 en te kraken getal/2. (hopelijk kan je deze matrix downloaden ergens)

getal delen door matrix = nieuwe matrix. (als je de priemmatrix hebt is dit zo gebeurt, is de matrix te groot kan ik deze in stukken hakken)

in de nieuwe matrix zitten 2 priem getallen. precies de 2 die we zoeken >>>> vergelijk priemmatrix met nieuwe matrix om de priem getallen te lokaliseren...

nee maar hopen dat de priemmatrix niet te groot wordt... (hoe groter de getallen hoe minder priemgetallen)

edit>
overigens kan je priemmatrix kleiner maken door naar het laatste cijfer te kijken van het te kraken getal.

de nieuwe matrix kan kleiner gemaakt worden door alleen integers in die matrix op te nemen.
</edit>

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

Op donderdag 01 november 2001 12:18 schreef fladder het volgende:
Voor degenen die nog steeds twijfelen:
[..]

edit:

En voor de mensen die al een heleboel factoren hebben:
kijk je algoritme nog maar eens goed na :)
Granted. Okay, vaag dat ze dan verschillende voorbeelden hadden gegeven waarbij meer dan twee factoren werdt gebruikt.

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


Verwijderd

Op donderdag 01 november 2001 12:39 schreef betweter het volgende:
ik denk dat ik dit maar eens in matlab ga doen...

zeer sterk reken programma die met zulke grote getallen om kan gaan.

matrix maken met alle priemgetallen tussen 2 en te kraken getal/2. (hopelijk kan je deze matrix downloaden ergens)

getal delen door matrix = nieuwe matrix. (als je de priemmatrix hebt is dit zo gebeurt, is de matrix te groot kan ik deze in stukken hakken)

in de nieuwe matrix zitten 2 priem getallen. precies de 2 die we zoeken >>>> vergelijk priemmatrix met nieuwe matrix om de priem getallen te lokaliseren...

nee maar hopen dat de priemmatrix niet te groot wordt... (hoe groter de getallen hoe minder priemgetallen)
Euhm, en waar wil je die matrix laten?
trouwens priemen tot wortel(getal) is wel genoeg lijkt me, en dan nog geldt:
wortel(getal) ongeveer 10^87
aantal priemen tot daar = ongeveer (x/log(x)) = 2.5^38
gemiddelde grootte van een priem = ongeveer 10^43
een priem kost dus gemiddeld ongeveer 143 bits.

zo'n matrix kost je in het meest geoptimaliseerde geval
143*2.5^38 bits = ongeveer 4 * 10^30 gigabyte :)

Ik heb vast wel ergens een rekenfout maar die matrix gaat VEEEEEEL plek kosten

Verwijderd

/me post het zelfde nog maar eens.

De recente RSA challenges zijn gewonnen door algoritmes uit de NFS en de MPQS familie, dus het lijkt me handig als die algoritmes eens eerst bestudeert (Google search, aardig startpunt). En ja, dit is complexe wiskunde (getaltheorie).

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 08:34

.oisyn

Moderator Devschuur®

Demotivational Speaker

* .oisyn moet hard lachen om Dusty

sorry :)

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • .oisyn
  • Registratie: September 2000
  • Laatst online: 08:34

.oisyn

Moderator Devschuur®

Demotivational Speaker

Op donderdag 01 november 2001 13:44 schreef mietje het volgende:
/me post het zelfde nog maar eens.

De recente RSA challenges zijn gewonnen door algoritmes uit de NFS en de MPQS familie, dus het lijkt me handig als die algoritmes eens eerst bestudeert (Google search, aardig startpunt). En ja, dit is complexe wiskunde (getaltheorie).
tuurlijk niet, wij tweakers zijn eigenwijs, wij verzinnen ons eigen algoritme dat vast veel sneller is dan diegenen die bedacht zijn door een zooi erg slimme koppen die thuis zijn in de wiskunde! :P

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Verwijderd

Op donderdag 01 november 2001 13:01 schreef fladder het volgende:

[..]

Euhm, en waar wil je die matrix laten?
trouwens priemen tot wortel(getal) is wel genoeg lijkt me, en dan nog geldt:
wortel(getal) ongeveer 10^87
aantal priemen tot daar = ongeveer (x/log(x)) = 2.5^38
gemiddelde grootte van een priem = ongeveer 10^43
een priem kost dus gemiddeld ongeveer 143 bits.

zo'n matrix kost je in het meest geoptimaliseerde geval
143*2.5^38 bits = ongeveer 4 * 10^30 gigabyte :)

Ik heb vast wel ergens een rekenfout maar die matrix gaat VEEEEEEL plek kosten
de volledige matrix is inderdaad niet nodig... alleen priemen tot wortel en daar een matrix van maken. echter om de het 2de getal te vinden is wel de volledige priemmatrix nodig. overigens volgens mij zijn het niet zoveel priemgetallen als jij zegt. (de wortel van 10^600 is 10^300. volgens mij slaat de x/log(x) echter helemaal nergens op... (10^300/300= 3.1*10^297 priemgetallen ik dacht het niet... veel minder; 10/1 = 10 -->> 1 tot 10 priem getallen? 100/2 = 50 >>> 50 priemgetallen onder de 100??? >>> 100/(priemgetal 2) is 50 dus alles wat niet deelbaar is door 2 een priemgetal???; volgens mij klopt er geen hout van je berekening, alhoewel ik wel bang ben dat het aantal priemgetallen iets te groot wordt om op te slaan op mijn 40 gb schijfje)

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

Op donderdag 01 november 2001 13:59 schreef OiSyN het volgende:
tuurlijk niet, wij tweakers zijn eigenwijs, wij verzinnen ons eigen algoritme dat vast veel sneller is dan diegenen die bedacht zijn door een zooi erg slimme koppen die thuis zijn in de wiskunde! :P
Kwestie van een nieuwe Theorie zien te vinden en dat doe je dus niet door de algoritmen van iemand anders te gebruiken. Dan loop je mee met de andere tig mensen die die algoritme al gebruiken om het antwoord te zoeken, veel leuker is om proberen een andere methode te vinden. Alleen op die manier zijn nieuwe ontdekkingen te vinden.

Als je als 99e schaap bij een hek aankomt kan je kiezen, eroverheen springen zoals de eerste 98 hebben gedaan, omdat die methode werkt, of besluiten dat misschien het hek helemaal niet op slot zit en het gewoon open te doen. >:)

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


Verwijderd

Op donderdag 01 november 2001 13:59 schreef OiSyN het volgende:

[..]

tuurlijk niet, wij tweakers zijn eigenwijs, wij verzinnen ons eigen algoritme dat vast veel sneller is dan diegenen die bedacht zijn door een zooi erg slimme koppen die thuis zijn in de wiskunde! :P
En weet je waarom het sneller is? Ten eertse wij maken het zooitje distributed, hangen er een DPC tag aan en laten duizenden mensen kraken. Ten tweede wij klokken over :)

Maar ff serieus, die slimme koppen hebben misschien (waarschijnlijk) die methode die wij hebben bedacht al lang van de kaart geschoven. Maar dat wil niet zeggen dat het geen goede methode is. Wat op hun website staat is misschien wel een hele snelle methode, maar ik vind hem persoonlijk niet goed. Hoe wil je 200K+ PC's vinden met ieder 4GB aan ram?

Maar verder stel ik voor om zelf een programma in elkaar te draaien in java. Omdat dat platform onafhankelijk is, en vooral omdat dat de enige taal is die ik ken :)

De klasse die ik in gedachte heb even uitgelegd:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public class VeryBigInt
{
private short[] getal;
private VeryBigInt wortel;
private boolean positief;
private boolean achterKomma; // indien dit getal ook nog 
//iets achter de komma heeft

public VeryBigInt(String nummer){}
public VeryBigInt getWortel(){}
public VeryBigInt deel(VeryBigInt a){}
public VeryBigInt min(VeryBigInt a){}
public VeryBigInt plus(VeryBigInt a){}
public VeryBigInt keer(VeryBigInt a){}
public VeryBigInt macht(int a){}
private void correct()
}

De methoden getWortel, min, plus, keer, macht en correct kan ik zelf wel maken, de methode deel heb ik wat meer moeite voor nodig. Maar met deze klasse kunnen we ongeveer alles wat ik nodig denk te hebben, en meer. Wat nu nog nodig is, is een plaats (server) om de bestanden op te zetten zodat andere mensen er ook mee kunnen werken. Wie kan "even" zo'n ding opzetten voor dit project?

  • Explore
  • Registratie: Maart 2001
  • Laatst online: 08-04-2011

Explore

Op zoek naar werk

Leuk, maar nou zijn Euler en Fermat niet de eerste de beste wiskundigen die zich hier al mee hebben bezig gehouden. Zij werkten met getallen tot 100 of 200 cijfers. Bij lange na niet getallen tot 600 cijfers. Als die mensen daar al problemen mee hebben, wat voor 'n kans maken een stelletje wiskunde-n00bs als ons dan? 'k Bedoel bij de opleiding Technische Natuurkunde krijg je een hoop complexe wiskunde, maar dat valt in het niets bij wat mensen als Euler voor elkaar krijgen.

Wellicht draai ik een programmatje in elkaar om een idee te krijgen van de tijd die nodig is om een fractie van de getallen te testen. Daarna zie ik wel verder. Ik blijf erbij dat het altijd mogelijk is dat je 'toevallig' het juiste getal vind (en dus ook de andere, wat sommige mensen blijkbaar nog steeds niet vatten). Al die theorien gaan uit van een worst-case scenario.

priem1 x priem2 = code
priem1 gevonden?
priem2 = code / priem1

Have fun... :)

[ specs ] [ Tweaker gallery ]


  • Gerco
  • Registratie: Mei 2000
  • Laatst online: 14-09 17:42

Gerco

Professional Newbie

Op donderdag 01 november 2001 14:42 schreef GHOst. het volgende:
public class VeryBigInt
private boolean achterKomma; // indien dit getal ook nog iets achter de comma heeft
:? :?

Wat klopt hier niet?

- "Als ik zou willen dat je het begreep, legde ik het wel beter uit!" | All number systems are base 10!


  • .oisyn
  • Registratie: September 2000
  • Laatst online: 08:34

.oisyn

Moderator Devschuur®

Demotivational Speaker

ja handig, laten we java gebruiken, gelukkig is dat ook heel snel enzo.

Kijk, ik wil hier geen Java vs. C discussie opwekken, maar ik denk dat zelfs de javahova's hier op GoT het wel met mij eens zijn dat dit zo snel mogelijk moet gebeuren, dus low-level C, en het liefst nog pure assembly, voor de core

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • BezurK
  • Registratie: Juni 2001
  • Laatst online: 14-06 09:12
Mensen, ik denk niet dat het verstandig is om NU al heel stoer met source code te gaan gooien, in wat voor taal dan ook.
Het wiskundige aspect van dit probleem is duizenden malen groter dan het technische aspect. De computer kan alles, helemaal met distributed technieken, dit is het probleem niet, als we uit het wiskundige gedeelte zijn, is een distributed systeem in een paar dagen opgezet met al die slimme programmeurs hier...
En dan nog, besef je wel dat RSA een schatting heeft gemaakt van het aantal computers dat nodig zijn en de hoeveelheid geheugen die hier dan voor nodig is, dit zijn geen kleine aantallen.
De RSA lacht zich rot dat er uberhaupt mensen zijn die er serieus werk van maken. :)

Rookworst zonder R is ook worst.


Verwijderd

Op donderdag 01 november 2001 14:48 schreef Gerco het volgende:

[..]

:? :?

Wat klopt hier niet?
ok uitleg:
Dit gaat uit van de methode
code:
1
2
3
4
g = (priem1+priem2)/2
d = g - (min(priem1,priem2))
sqrt(code+(d^2)) == geheel getal.
enz..

Omdat je voor die sqrt een geheel getal nodig hebt, moet je dus kijken of er iets achter de komma staat. Omdat een int moet afronden, heb ik een boolean in het leven geroepen om te zeggen dat het afgerond is.
Op donderdag 01 november 2001 14:53 schreef BezurK het volgende:
Mensen, ik denk niet dat het verstandig is om NU al heel stoer met source code te gaan gooien, in wat voor taal dan ook.
Het wiskundige aspect van dit probleem is duizenden malen groter dan het technische aspect. De computer kan alles, helemaal met distributed technieken, dit is het probleem niet, als we uit het wiskundige gedeelte zijn, is een distributed systeem in een paar dagen opgezet met al die slimme programmeurs hier...
En dan nog, besef je wel dat RSA een schatting heeft gemaakt van het aantal computers dat nodig zijn en de hoeveelheid geheugen die hier dan voor nodig is, dit zijn geen kleine aantallen.
De RSA lacht zich rot dat er uberhaupt mensen zijn die er serieus werk van maken. :)
We hebben een begin nodig. Ik heb eerder in deze draad een oplossing aangedragen waarvoor je geen priemgetallen nodig heb. Een andere oplossing is om wel met priemgetallen te werken en ze een voor een af gaan totdat je de juiste hebt gevonden. Meer voorstellen om dit probleempje te tackelen heb ik hier nog niet gehoord, maar als jij zo graag een andere methode wilt horen zul je hem zelf moeten posten.
Die schatting van RSA is gebaseerd op de snelste methode die hun kennen. Maar deze methode vraagt ongelovelijk veel geheugeruimte, en is dus niet beschikbaar voor ons.
Daarnaast heb ik het idee dat niet iedereen echt voortgang wil boeken. Lees deze draad maar eens door. Bijna iedereen valt terug op de methode van ieder priemgetal nachecken, terwijl dit toch echt geen optie is (zoek maar eens priemgetallen van 10^300 of groter).

Verwijderd

Het lijkt me opzich een leuk idee en ik wil best wel helpen ook al ben ik een newbie wat betreft programeren. Dit is wat een uurtje knoeien op me rekenmachine opleverde en het werkt ook best snel vond ik (ik heb het alleen met kleine getallen getest omdat me rekenmachine er anders te lang over deed).
Ik koos als getal 552569(dit is een vermenigvuldiging van de priemgetallen 2039 en 271)

(2039*271)->M ==het getal aan de variabele M toekennen
(int (M^0,5))->B ==De afgeronde waarde van wortel M
toekennen aan B

(B/2)->F ==De helft van B toekennen aan F
if (int F=F) ==Als F geheel is
then (B-1)->B ==dan doe je B-1 zodat je zeker
weten een oneven getal
hebt dit is handig omdat je dan alle
even getallen over kan slaan
ifend == de if regel wordt afgesloten
0->X == aan de variabele X wordt 0toegekend

Lbl1== begin van de loop
(int (M/(B+X))->C==M wordt gedeeld door(B+X) en dan
afgerond en toegekend aan C
if (C*(B+X))=M== als C*(B+X)) gelijk is aan M
Then Locate 1,1,C== dan schrijf je C op(dit is het
priemgetal dat gezocht werd)
Ifend== if end
(X+2)->X== De X wordt met 2 verhoogd zodat
het volgende oneven B getak
ontstaat
goto1== ga naar 1 om het nog een keer te
proberen

Het komt eigenlijk op het volgende neer dus je neemt het getal daar neem je de wortel van(de wortel zit tussen de 2 priemgetallen in) en daarna ga je steeds HET getal delen door de wortel ervan+2. die plus 2 doe je omdat je dan de hele tijd deelt door een oneven getal.

Als je er geen wijs uit kan worden wil ik het ook wel mailen want echt netjes ziet het er zo niet uit >:)

  • rjsomeone
  • Registratie: Juli 2001
  • Laatst online: 20-11-2023

rjsomeone

a.k.a. Tuslsh

Op donderdag 01 november 2001 15:27 schreef wayeax het volgende:
Het lijkt me opzich een leuk idee en ik wil best wel helpen ook al ben ik een newbie wat betreft programeren. Dit is wat een uurtje knoeien op me rekenmachine opleverde en het werkt ook best snel vond ik (ik heb het alleen met kleine getallen getest omdat me rekenmachine er anders te lang over deed).
Ik koos als getal 552569(dit is een vermenigvuldiging van de priemgetallen 2039 en 271)

(2039*271)->M ==het getal aan de variabele M toekennen
(int (M^0,5))->B ==De afgeronde waarde van wortel M
toekennen aan B

(B/2)->F ==De helft van B toekennen aan F
if (int F=F) ==Als F geheel is
then (B-1)->B ==dan doe je B-1 zodat je zeker
weten een oneven getal
hebt dit is handig omdat je dan alle
even getallen over kan slaan
ifend == de if regel wordt afgesloten
0->X == aan de variabele X wordt 0toegekend

Lbl1== begin van de loop
(int (M/(B+X))->C==M wordt gedeeld door(B+X) en dan
afgerond en toegekend aan C
if (C*(B+X))=M== als C*(B+X)) gelijk is aan M
Then Locate 1,1,C== dan schrijf je C op(dit is het
priemgetal dat gezocht werd)
Ifend== if end
(X+2)->X== De X wordt met 2 verhoogd zodat
het volgende oneven B getak
ontstaat
goto1== ga naar 1 om het nog een keer te
proberen

Het komt eigenlijk op het volgende neer dus je neemt het getal daar neem je de wortel van(de wortel zit tussen de 2 priemgetallen in) en daarna ga je steeds HET getal delen door de wortel ervan+2. die plus 2 doe je omdat je dan de hele tijd deelt door een oneven getal.

Als je er geen wijs uit kan worden wil ik het ook wel mailen want echt netjes ziet het er zo niet uit >:)
Dat lijkt mij ook de beste manier, maar hij kan nog iets geoptimaliseerd worden: je kan alle getallen eindigend op 5 ook weglaten.

Hier had uw advertentie kunnen staan :).


Verwijderd

wayeax: gebruik ff wat [code ] tags, dat maakt het iets duidelijker. Ik snap er niet veel van, maar het ziet er wel goed uit. :)

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 08:34

.oisyn

Moderator Devschuur®

Demotivational Speaker

Op donderdag 01 november 2001 14:53 schreef BezurK het volgende:
Mensen, ik denk niet dat het verstandig is om NU al heel stoer met source code te gaan gooien, in wat voor taal dan ook.
Het wiskundige aspect van dit probleem is duizenden malen groter dan het technische aspect. De computer kan alles, helemaal met distributed technieken, dit is het probleem niet, als we uit het wiskundige gedeelte zijn, is een distributed systeem in een paar dagen opgezet met al die slimme programmeurs hier...
En dan nog, besef je wel dat RSA een schatting heeft gemaakt van het aantal computers dat nodig zijn en de hoeveelheid geheugen die hier dan voor nodig is, dit zijn geen kleine aantallen.
De RSA lacht zich rot dat er uberhaupt mensen zijn die er serieus werk van maken. :)
ja hallo, als we er echt superserieus aan gaan werken dan is de lol er snel af

persoonlijk vind ik het wel lache dat wij zo inferieur bezig zijn, en ik weet zeker dat we die dingen ook nooit op gaan lossen voordat iemand anders met een antwoord komt, maar dat boeit me dus echt geen enkele flikker. Het lijkt me gewoon leuk om een distributed computing systeempje te maken, of het nou zinnig is of niet :)

Ik bedoel, ik had het idee voor mezelf ook allang afgeschreven omdat het gewoon absoluut niet haalbaar is, maar nu ik iedereen hier er zo lekker mee hoor discussieren denk ik ook van "what the hell, wat boeit het ook, we gaan het gewoon doen" :)

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Verwijderd

Op donderdag 01 november 2001 14:32 schreef betweter het volgende:

de volledige matrix is inderdaad niet nodig... alleen priemen tot wortel en daar een matrix van maken. echter om de het 2de getal te vinden is wel de volledige priemmatrix nodig.
tweede priem is code/eerste
overigens volgens mij zijn het niet zoveel priemgetallen als jij zegt. (de wortel van 10^600 is 10^300. volgens mij slaat de x/log(x) echter helemaal nergens op...
http://www.utm.edu/research/primes/howmany.shtml
(10^300/300= 3.1*10^297 priemgetallen ik dacht het niet... veel minder; 10/1 = 10 -->> 1 tot 10 priem getallen? 100/2 = 50 >>> 50 priemgetallen onder de 100??? >>> 100/(priemgetal 2) is 50 dus alles wat niet deelbaar is door 2 een priemgetal???; volgens mij klopt er geen hout van je berekening, alhoewel ik wel bang ben dat het aantal priemgetallen iets te groot wordt om op te slaan op mijn 40 gb schijfje)
Sja het komt wel vaker voor dat benaderfuncties niet opgaan voor kleine getallen he. En de eerste 100 is niet echt representatief met de andere 10^80.

Eneuh, lijkt me ook verstandig dat we het met z'n allen over dezelfde code gaan hebben. Misschien niet onpractisch om te beginnen bij de kleinste, nl. die van 174 digits.

Verwijderd

De methode van wayeax werkt best snel. Ik heb um ff in miranda/amanda gemaakt:
code:
1
2
3
4
5
6
7
8
9
10
11
12
findprimes :: num -> [num]
findprimes a = divert a (afgerondewortel a)

afgerondewortel :: num -> num
afgerondewortel x = (y+1), if (y//2) = (y/2)
            = y, otherwise
              where y = round(sqrt(x))


divert :: num->num->[num]
divert teller noemer = [teller//noemer,noemer], if (teller % noemer) = 0
               = divert teller (noemer+2), otherwise

loopt als een treintje.

  • ronaldmathies
  • Registratie: Juni 2001
  • Niet online
Voor sommige mensen hier :

Ik noemde alleen maar Java in die zin, als je een server hebt en je maakt het geval in C dan is een port naar Java vrij gemakkelijk, dan heb je niet alleen eventuele Windows PC's maar ook de krachtige servers tot je beschikking, zoals Alpha's en Sun (En ja die heb ik hier staan waar het eventueel op zou kunnen draaien). Maar als ik deze discussie zie verlopen dan heb ik er zelf eigenlijk wijnig zin in om hier tijd in te gaan steken er word wild gediscuseerd maar niet bekeken hoe je zo'n algoritme zou moeten maken. Wat maakt mij het uit hoe groot het getal is, en in welke taal en hoe. Waar mij het om gaat is, hoe bedenk je een algoritme zodat je geen onnodige berekeningen gaat uitvoeren en zosnell mogelijk tot een resultaat kan komen. Want een oplossing als 3 * 7; 7 * 13; 7 * 3; 13 * 7 gaat natuurlijk nooit werken. Je moet ook voorkomen dat je geen dubbele berekeningen doet. Het is natuurlijk goed om van te voren te weten of het uberhoupt mogelijk is om zulke grote getallen op te slaan in een variabele waarbij het ook nog makkelijk rekenen is, maar wat heb je eraan als we totaal geen fatsoelijke algoritme hebben. Dan zou je inderdaad de algoritmes moeten bestuderen van andere bedrijfen zoals hierboven vermeld word, en kijken is dat mischien op een een of andere manier te optimaliseren. Het gaat er voor mij uiteindelijk ook niet om om te kunnen winnen maar meer om de uitdaging over het maken van zo'n server onderdeel met clients en het zo optimaal en correct te laten verlopen inclusief het algoritme.

3015 Wp-z 5360 Wp-nno op 2 x SMA-SB3600 TL-21, Warmtepomp: ERSC-VM2CR2 / PUHZ-SHW140 YHA, WTW Q350, EV Kia Ev6 GT-Line


Verwijderd

OK komt hij nog een keer in de herhaling
Ik koos dus als getal 552569(dit is een vermenigvuldiging van de priemgetallen 2039 en 271) als voorbeeld getal

het schreef gedrukte is commentaar de rest code

(2039*271)->M ==het getal aan de variabele M toekennen
(int (M^0,5))->B ==De afgeronde waarde van wortel M
toekennen aan B


(B/2)->F ==De helft van B toekennen aan F
if (int F=F) ==Als F geheel is
then (B-1)->B ==dan doe je B-1 zodat je zeker weten een oneven getal hebt dit is handig omdat je dan alle even getallen over kan slaan
ifend == de if regel wordt afgesloten
0->X == aan de variabele X wordt 0 toegekend

Lbl1 == begin van de loop
(int (M/(B+X))->C ==M wordt gedeeld door(B+X) en dan
afgerond en toegekend aan C

if (C*(B+X))=M == als C*(B+X)) gelijk is aan M
Then Locate 1,1,C == dan schrijf je C op(dit is het
priemgetal dat gezocht werd)

Ifend == if end
(X+2)->X == De X wordt met 2 verhoogd zodat het volgende oneven B getak ontstaat
goto1 == ga naar 1 om het nog een keer te proberen

Het komt eigenlijk op het volgende neer, je neemt HET getal daar neem je de wortel van(de wortel zit tussen de 2 priemgetallen in) en daarna ga je steeds HET getal delen door de wortel ervan+2. die plus 2 doe je omdat je dan de hele tijd deelt door een oneven getal.
Dat een getal met een vijf op het einde overbodig is wist ik wel maar omdat ik het op een rekemachine probeerde koste het meer tijd om de vijf eruit te halen dan om hem te laten zitten in het "echte" programma moet je de 5 er wel uit filteren natuurlijk.

Is er trouwens een manier om je Posting eerst te bekijken voordat je hem echt post zodat je kan zien of je lay out goed is? En is er een plek waar je all Tags kan vinden voor dit forum?

  • rjsomeone
  • Registratie: Juli 2001
  • Laatst online: 20-11-2023

rjsomeone

a.k.a. Tuslsh

Op donderdag 01 november 2001 16:24 schreef wayeax het volgende:

Is er trouwens een manier om je Posting eerst te bekijken voordat je hem echt post zodat je kan zien of je lay out goed is?
Naast de verstuur knop staat: bekijk bericht :)

Hier had uw advertentie kunnen staan :).


  • .oisyn
  • Registratie: September 2000
  • Laatst online: 08:34

.oisyn

Moderator Devschuur®

Demotivational Speaker

Op donderdag 01 november 2001 16:20 schreef ronaldmathies het volgende:
Voor sommige mensen hier :

Ik noemde alleen maar Java in die zin, als je een server hebt en je maakt het geval in C dan is een port naar Java vrij gemakkelijk, dan heb je niet alleen eventuele Windows PC's maar ook de krachtige servers tot je beschikking, zoals Alpha's en Sun (En ja die heb ik hier staan waar het eventueel op zou kunnen draaien). Maar als ik deze discussie zie verlopen dan heb ik er zelf eigenlijk wijnig zin in om hier tijd in te gaan steken er word wild gediscuseerd maar niet bekeken hoe je zo'n algoritme zou moeten maken. Wat maakt mij het uit hoe groot het getal is, en in welke taal en hoe. Waar mij het om gaat is, hoe bedenk je een algoritme zodat je geen onnodige berekeningen gaat uitvoeren en zosnell mogelijk tot een resultaat kan komen. Want een oplossing als 3 * 7; 7 * 13; 7 * 3; 13 * 7 gaat natuurlijk nooit werken. Je moet ook voorkomen dat je geen dubbele berekeningen doet. Het is natuurlijk goed om van te voren te weten of het uberhoupt mogelijk is om zulke grote getallen op te slaan in een variabele waarbij het ook nog makkelijk rekenen is, maar wat heb je eraan als we totaal geen fatsoelijke algoritme hebben. Dan zou je inderdaad de algoritmes moeten bestuderen van andere bedrijfen zoals hierboven vermeld word, en kijken is dat mischien op een een of andere manier te optimaliseren. Het gaat er voor mij uiteindelijk ook niet om om te kunnen winnen maar meer om de uitdaging over het maken van zo'n server onderdeel met clients en het zo optimaal en correct te laten verlopen inclusief het algoritme.
Voor jou:
C is net zo portable als Java, je moet alleen opnieuw compilen. Maar op deze manier neem je ook optimalisaties van dat specifieke platform mee, iets wat je bij Java dus niet hebt.
En als je alles goed gelezen had dan ben je aardig wat discussies over een mogelijk algoritme tegen gekomen, dus ik snap niet hoe je dit allemaal kunt zeggen

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Verwijderd

Ik denk dat we eerst de volgende vraag maar eens moeten beantwoorden: wat kost meer tijd, de code door elk oneven getal delen of de volgende priem berekenen en daarna de code delen door de nieuwe priem.

De vraag is dus eigenlijk: hoeveel keer kun je delen in de tijd dat je de volgende priem kunt berekenen en is dat getal groter dan het aantal priemen t.o.v. het aantal oneven getallen.

ofzo :)
Pagina: 1 2 3 4 Laatste