login  Naam:   Wachtwoord: 
Registreer je!
 Forum

[Pascal] gemeenschappelijke deler (Opgelost)

Offline mathiasB - 08/11/2007 19:23
Avatar van mathiasBHTML interesse Na al die jaren Dev-Pascal krijg ik het niet voor mekaar om een progje te schrijven dat van 2 ingegeven getallen de gemeenschappelijke delers weergeeft. Ik heb
dit maar dat geeft mij maar een simpele deling, ik heb al met for-loops geprobeert maar het wil maar niet lukken

4 antwoorden

Gesponsorde links
Offline nemesiskoen - 08/11/2007 19:42
Avatar van nemesiskoen Gouden medaille

PHP expert
Begin een loop. Zet een teller op 1 of 2 (naargelang je captain obvious wil spelen of niet), en laat deze lopen tot de helft van het kleinste getal. Deel het kleinste en het grootste getal door dit getal en check of het allebei rest nul is. Is dit zo? Opslaan. Op het einde, na de loop, check je even of het grootste deelbaar is door het kleinste. Zoja, dan sla je die ook op.
Offline Rik - 08/11/2007 20:06
Avatar van Rik Gouden medailleGouden medaille

Crew algemeen
Een hele snelle manier om de Grootste gemene deler te vinden is via het algoritme van euclides (in php):
  1. <?php
  2. $a = 129238426;
  3. $b = 2342343;
  4. while ($b > 0) {
  5. $d = $a;
  6. $c = $a - $b * floor($a / $b);
  7. $a = $b;
  8. $b = $c;
  9. }
  10. echo 'Gcd: ' . $a;
  11. ?>

Ik hoop dat je dat bedoelde?  
Offline mathiasB - 08/11/2007 20:53
Avatar van mathiasB HTML interesse ja maar ik moet ze allemaal hebben :d alle gemeenschappelijke delers en dat is php al lijkt het er wel op
Offline Rik - 09/11/2007 16:53
Avatar van Rik Gouden medailleGouden medaille

Crew algemeen
Ja inderdaad php. Ik kan geen pascal, maar omdat het zulke basic syntax is verwacht ik niet dat je er moeite mee hebt. 

Ik heb eens goed gekeken, maar wat ik heb is het Uitgebreid Euclidsch algoritme, terwijl je de GGD ook met het "Normale" Algoritme van Euclides kan bepalen.

Ik weet niet of je met dit algoritme ook alle delers kunt bepalen...
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.205s