Un nombre parfait
Elly
-
fxtaa Messages postés 1050 Date d'inscription Statut Membre Dernière intervention -
fxtaa Messages postés 1050 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
ma question sur:
-ecrire algo qui lit un entier (+) et détermine s'il est parfait ou non.
-ecrire algo qui affiche la liste de tous les nombres parfaits inférieurs à 200
exple : 6=1+2+3 donc 6 est un nombre parfait.
ma question sur:
-ecrire algo qui lit un entier (+) et détermine s'il est parfait ou non.
-ecrire algo qui affiche la liste de tous les nombres parfaits inférieurs à 200
exple : 6=1+2+3 donc 6 est un nombre parfait.
Configuration: Windows XP Firefox 3.5.3
4 réponses
-
Un petit coup de téléphone là : Albert Einstein
--
On n'a rien inventé de mieux que la bêtise pour se croire intelligent.
Cordialement Jacqus93 -
salut,
tiens en perl :
=pod contenu de prems.txt 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 =cut use warnings; use diagnostics; my $r=0; my $rep = "REP OU SE TROUVE prems.txt"; @lignes = (""); open(FILE, "<$rep\\prems.txt"); while(<FILE>){ push(@lignes,$_); } close(FILE); for(@lignes){ $p = $_; $p =~ s/\n//g; $r = (2**($p-1))*((2**$p)-1); #(2^(p-1))x((2^p)-1) print "$r\n"; last if ($r>200) }
Bonne journée-
Salut,
J'ai comprimé un peut ton code dans trois versions ;-)
Version 1
#!/usr/bin/perl use strict;use warnings; my @nr_parfait = (); while(<DATA>){ my $r= (2**($_-1))*((2**$_)-1); push @nr_parfait,$r unless $r>200; } print $_,"\n" for @nr_parfait; __END__ 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89
Version 2
#!/usr/bin/perl use strict;use warnings; my @nr_parfait=map {(2**($_-1))*((2**$_)-1)} <DATA>; print $_,"\n" for grep {$_<200} @nr_parfait; __END__ 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89
Version 3
#!/usr/bin/perl use strict;use warnings; print $_,"\n" for grep {$_<200} map {(2**($_-1))*((2**$_)-1)} <DATA>; __END__ 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89
-
-
tiens, j'ai trouvé ceci dans les astuces de CCM qui conviendra parfaitement à ta demande:
https://www.commentcamarche.net/infos/25899-demander-de-l-aide-pour-vos-exercices-sur-ccm/
n'hésite pas à poser d'autres questions si tu comprends pas ! -
print $_,"\n" for grep {$_<200} map {(2**($_-1))*((2**$_)-1)} <DATA>;
c est propre... bon je vais voir ce que c est que cette fonction map