Schreibe in das Array tmp an die Postion anzahlFaktoren den Wert j und erhöhe danach anzahlFaktoren um 1.
Announcement
Collapse
No announcement yet.
Kleinstesgemeinsamesvielfaches in Perl
Collapse
X
-
Originally posted by Christian Marquardt View PostSchreibe in das Array tmp an die Postion anzahlFaktoren den Wert j und erhöhe danach anzahlFaktoren um 1.
wenn ja wie mach ich das dann in perl???
Comment
-
Originally posted by Christian Marquardt View Post
Comment
-
-
Die Umsetzung des Javaprogrammes
Code:#!/usr/bin/perl @werte=Primfaktorzerlegung(20); foreach $i (@werte){ print $i."*"; } sub Primfaktorzerlegung { my @tmp; my @rt; my $ziffer=$_[0]; $maxFactors=int(log10($ziffer)/log10(2)+0.99); $anzahlFaktoren=0; for($j=2;$j<=$ziffer;$j++) { if ($ziffer%$j==0) { $tmp[$anzahlFaktoren++]=$j; $ziffer=int($ziffer/$j); $j=1; } } for($i=0;$i<$anzahlFaktoren;$i++) { $rt[$i]=$tmp[$i]; } return @rt; } sub log10 { my $n=shift; return log($n)/log(10); }
Christian
Comment
-
Originally posted by Gabino09 View Postok ich werds mal soweit versuchen und schauen wie weit ich komme und falls ich noch fragen habe melde ich mich
#!usr/bin/perl
use strict;
sub prim
{
my $n = $_;
my @a;
for (j = 2; j <= n; j++ )
{
if (n % j == 0) {
@a[] = j;
n = n/j;
j = 1;
}
}
return(@a);
}
und weiß aber nicht was ich bei @a[]=j;
in die eckigenklammern schreiben soll das er das jedesmal neu reinschreib also ein eigener neuer speicher und nicht überschreibt ???
Comment
-
Originally posted by Christian Marquardt View PostSiehe Beitrag 24
Varaiblen (Skalare) in PERL beginnen mit $. Insofern ist obiger Code nicht korrekt. Weiterhin fehlt irgendwie die Hälfte.....
Comment
-
Originally posted by Christian Marquardt View Postfor (j = 2; j <= n; j++ )
n = n/j;
Das was zum Code in Beitrag 24 unterschiedlich ist
ich will einfach eine funktion in perl die mir aus beliebig vielen werten die primfaktoren in ein feld speichern wie geht das denn???
Comment
Comment