Mais bien sûr !
J'ai essayé d'avoir une version python et une version perl très proches, alors que par méconnaissance la version C++ est plus éloignée.
Bon, je viens de m'apercevoir que ma fonction is_premier déconnait : 4012009 n'est pas premier ! J'avais fait boulette sur la fonction modulo, enfin c'est pas grave ça change pas les résultats :) Version C++
#include
bool is_premier (int nombre) {
int i;
for (i=1 ; i < nombre ; i++) {
if (nombre % i == 0)
return false;
}
return true;
}
int main (int argc, char **argv) {
if (is_premier(4012009)) std::cout << "4012009 est premier\n";
else std::cout << "4012009 n'est pas premier\n";
} Version Perl
#!/usr/bin/env perl
sub is_premier {
my ($nombre) = @_;
my $i;
foreach $i (1..($nombre-1)) {
if ($nombre%$i == 0) {
return 0;
}
}
return 1;
}
if (is_premier(4012009)) {
print "4012009 est premier\n"
} else {
print "4012009 n'est pas premier\n"
} Version Python
#!/usr/bin/env python
import psyco #à commenter pour
psyco.full() # désactiver psyco
def is_premier(nombre):
for i in range(1, nombre):
if (nombre%i == 0):
return 0
return 1
if (is_premier (4012009)):
print "4012009 est premier"
else:
print "4012009 n'est pas premier"
[^] # Re: sources
Posté par Pinaraf . En réponse au message bench : pourquoi python serait lent ?. Évalué à 2.
J'ai essayé d'avoir une version python et une version perl très proches, alors que par méconnaissance la version C++ est plus éloignée.
Bon, je viens de m'apercevoir que ma fonction is_premier déconnait : 4012009 n'est pas premier ! J'avais fait boulette sur la fonction modulo, enfin c'est pas grave ça change pas les résultats :)
Version C++
#include
bool is_premier (int nombre) {
int i;
for (i=1 ; i < nombre ; i++) {
if (nombre % i == 0)
return false;
}
return true;
}
int main (int argc, char **argv) {
if (is_premier(4012009)) std::cout << "4012009 est premier\n";
else std::cout << "4012009 n'est pas premier\n";
}
Version Perl
#!/usr/bin/env perl
sub is_premier {
my ($nombre) = @_;
my $i;
foreach $i (1..($nombre-1)) {
if ($nombre%$i == 0) {
return 0;
}
}
return 1;
}
if (is_premier(4012009)) {
print "4012009 est premier\n"
} else {
print "4012009 n'est pas premier\n"
}
Version Python
#!/usr/bin/env python
import psyco #à commenter pour
psyco.full() # désactiver psyco
def is_premier(nombre):
for i in range(1, nombre):
if (nombre%i == 0):
return 0
return 1
if (is_premier (4012009)):
print "4012009 est premier"
else:
print "4012009 n'est pas premier"
Ce sera tout ?