Oppure

Loading
06/11/08 17:00
atota
Salve a tutti!!! :D
Ragazzi qualcuno mi sa dire come risolvere questo es, non riesco proprio ho letto in giro che bisgona usare un algoritmo riguardante la congettura di Goldbach ma proprio nn ci sono riuscito. Ecco quello ke ho fatto:

/* Scrivere una funzione che prende in ingresso un numero pari e restituisce 1
se il numero e' la somma di due numeri primi, 0 altrimenti.
Utilizzare una funzione primo che prende in ingresso un numero e
restituisce 1 se questo e' primo, 0 altrimenti. */
#include <iostream>
#include <cstdlib>
using namespace std;
int primo (int);
int restitutore (int);
int somma (int, int);
int main () {
int numero,ris,resto;
cout<<"Programma che verifica se un numero pari è primo, e se nn lo è verifica se è la somma di due num primi \n";
cout<<"Inserire numero pari: "<<endl;
cin>>numero;
primo (numero);
ris=primo (numero);
restitutore (numero);
cout<<"E' un numero primo: "<<ris<<endl;
cout<<"E' somma di numeri primi: "<<restitutore (numero)<<endl;
system("pause";);
}
int primo (int a) {
for (int i=2;i<=a;i++){
if (i==a)
return 1;
if (a%i==0)
return 0;

}
}
int restitutore (int a){
int temp2=0;
for (int i=2;i<a;i++){
if (primo(i)==1){
cout<<primo(i)<<" ";
cout<<i<<endl;
if (i+temp2==a)
return 1;
if (i+temp2!=a)
temp2=i ;
}
}
}
Grazie a tutti anticipatamente


---Nessuno risponde!?!? vi prego datemi una mano...:(
Ultima modifica effettuata da atota 07/11/08 0:10
aaa
07/11/08 9:42
gioser
en.wikipedia.org/wiki/…

la congettura di Goldbach dice che ogni numero pari maggiore di 4 si puo' esprimere come somma di due numeri primi.

quindi questo programma + che altro servirebbe per verificare la congettura di Goldbach...

Focalizzati sulla realizzazione della funzione per determinare se un numero e' primo oppure no.

Il codice che hai postato mi pare sufficientemente sbagliato da richiedere una totale riscrittura.

Non ha senso verificare se un numero pari e' primo o no... l'unico numero primo pari è 2: tutti gli altri sono divisibili per 2 per definizione di numero pari.

Ciao :)
Ultima modifica effettuata da gioser 07/11/08 9:56
aaa
07/11/08 15:27
atota
ma io infatti nn verifico se un numero pari è primo io verifico se è somma di numeri primi...la verifica dei numeri primi la faccio sui numeri primi appunti precedenti il numero pari dato dall'utente...
aaa
10/11/08 7:47
gioser
Postato originariamente da atota:
     cout<<"Programma che verifica se un numero pari è primo, e se nn lo è verifica se è la somma di due num primi \n";
     cout<<"Inserire numero pari: "<<endl;
     cin>>numero;
     primo (numero);
     ris=primo (numero);



Tu qui, almeno nelle intenzioni, controlli se il numero pari è primo ;)
aaa