Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione HUAWEI Mate X7: un foldable ottimo, ma restano i soliti problemi
Recensione HUAWEI Mate X7: un foldable ottimo, ma restano i soliti problemi
Mate X7 rinnova la sfida nel segmento dei pieghevoli premium puntando su un design ancora più sottile e resistente, unito al ritorno dei processori proprietari della serie Kirin. L'assenza dei servizi Google e del 5G pesa ancora sull'esperienza utente, ma il comparto fotografico e la qualità costruttiva cercano di compensare queste mancanze strutturali con soluzioni ingegneristiche di altissimo livello
Nioh 3: souls-like punitivo e Action RPG
Nioh 3: souls-like punitivo e Action RPG
Nioh 3 aggiorna la formula Team NINJA con aree esplorabili più grandi, due stili di combattimento intercambiabili al volo (Samurai e Ninja) e un sistema di progressione pieno di attività, basi nemiche e sfide legate al Crogiolo. La recensione entra nel dettaglio su combattimento, build, progressione e requisiti PC
Test in super anteprima di Navimow i220 LiDAR: il robot tagliaerba per tutti
Test in super anteprima di Navimow i220 LiDAR: il robot tagliaerba per tutti
La facilità di installazione e la completa automazione di tutte le fasi di utilizzo, rendono questo prodotto l'ideale per molti clienti. Ecco com'è andata la nostra prova in anteprima
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 25-01-2011, 08:58   #1
Loris14
Member
 
L'Avatar di Loris14
 
Iscritto dal: Sep 2010
Messaggi: 280
[C++] Programma Che Riconosca Se Un Numero E' Primo

Ciao ragazzi, ho bisogno di creare un programma che dato un numero, riconosca se questo è primo...

Il programma deve essere di questo tipo...

Codice:
#include <cstdlib>
#include <iostream>
#include <conio.h>
using namespace std;

int main(int argc, char *argv[])
{
    int NUM, ;
    cout << "Dato Un Numero, Dire Se E' Un Numero Primo";
    cout << "\n \n";
    cout << "Inserisci Il Numero: ";   
    cin >> NUM;
    cout << "\n";
    while (  )
       { 
        
       }
    cout << "Testo Finale";
    cout << "\n \n";
    cout << "FINE";
    getch ();
    return EXIT_SUCCESS;
}
Sapete come fare???

Grazie!!!
Loris14 è offline   Rispondi citando il messaggio o parte di esso
Old 25-01-2011, 11:14   #2
clockover
Senior Member
 
L'Avatar di clockover
 
Iscritto dal: Oct 2004
Messaggi: 1945
un numero quando è primo è divisibile solo per lui stesso e uno.. quindi basta che implementi un controllo dei resti della divisione da 1 (escluso) a n-1 (incluso)
clockover è offline   Rispondi citando il messaggio o parte di esso
Old 25-01-2011, 11:16   #3
manuel17787
Member
 
Iscritto dal: Jun 2008
Messaggi: 75
Devi fare un ciclo da 2 a NUM-1. Ad ogni passo controlli se il resto della divisione tra NUM e il contatore è 0. Se trovi almeno un resto a 0, vuol dire che non è primo, altrimenti è primo..
manuel17787 è offline   Rispondi citando il messaggio o parte di esso
Old 25-01-2011, 13:38   #4
Mulder90
Senior Member
 
L'Avatar di Mulder90
 
Iscritto dal: Aug 2008
Città: Firenze
Messaggi: 317
siccome per numeri grandi potrebbe essere necessario molto tempo per vedere se un certo n è primo cerca di semplificarti la vita.
1) se il numero è pari non è primo. quindi if n%2==0 return false
2) il ciclo a questo punto può essere fatto solo sui numeri dispari.
3) con un po di matematica si riesce a dimostrare che non è necessario fare un ciclo che arrivi fino ad n. Infatti basta arrivare fino alla radice di n.

Cerca di fare qualcosa del genere!
Mulder90 è offline   Rispondi citando il messaggio o parte di esso
Old 25-01-2011, 14:35   #5
mariusTrio
Junior Member
 
Iscritto dal: Jan 2011
Messaggi: 2
Dovresti:
-controllare che sia disparo
-controllare che non abbia fattori

per trovarti i fattori basta fare un ciclo con indice da 3 a N-1, che avanza di 2 ad ogni iterazione (così hai indici solo dispari) poi all'interno del ciclo basta che controlli che il risultato dell'operazione N mod i (dove N è il tuo numero mentre i è l'indice) sia diverso da zero. Se per tutti gli indici il risultato è diverso da zero, allora il numero è un numero disparo.
Buon Lavoro
mariusTrio è offline   Rispondi citando il messaggio o parte di esso
Old 26-01-2011, 17:52   #6
cdere
Senior Member
 
L'Avatar di cdere
 
Iscritto dal: Feb 2001
Città: Foggia
Messaggi: 2519
Quote:
Originariamente inviato da Mulder90 Guarda i messaggi
siccome per numeri grandi potrebbe essere necessario molto tempo per vedere se un certo n è primo cerca di semplificarti la vita.
1) se il numero è pari non è primo. quindi if n%2==0 return false
2) il ciclo a questo punto può essere fatto solo sui numeri dispari.
3) con un po di matematica si riesce a dimostrare che non è necessario fare un ciclo che arrivi fino ad n. Infatti basta arrivare fino alla radice di n.

Cerca di fare qualcosa del genere!
ottimo, quoto Mulder
__________________
mi sembra di essere tornato adolescente ai bei tempi.. che figata essere di nuovo su questo forum
cdere è offline   Rispondi citando il messaggio o parte di esso
Old 01-02-2011, 09:33   #7
Loris14
Member
 
L'Avatar di Loris14
 
Iscritto dal: Sep 2010
Messaggi: 280
Non riesco a scrivere sul programma le cose che mi avete suggerito :S

Sono agli inizi...
Loris14 è offline   Rispondi citando il messaggio o parte di esso
Old 01-02-2011, 09:39   #8
dierre
Senior Member
 
L'Avatar di dierre
 
Iscritto dal: Sep 2004
Città: Interamnia Urbs
Messaggi: 2126
Intanto posta quello che hai già scritto.
__________________
Un wormhole (buco di tarlo, in italiano), detto anche Ponte di Einstein-Rosen, è una ipotetica caratteristica topologica dello spaziotempo che è essenzialmente una "scorciatoia" da un punto dell'universo a un altro, che permetterebbe di viaggiare tra di essi più velocemente di quanto impiegherebbe la luce a percorrere la distanza attraverso lo spazio normale.
Go to a Wormhole
dierre è offline   Rispondi citando il messaggio o parte di esso
Old 01-02-2011, 09:44   #9
tuccio`
Senior Member
 
Iscritto dal: Apr 2010
Città: Frosinone
Messaggi: 416
Quote:
Originariamente inviato da Mulder90 Guarda i messaggi
siccome per numeri grandi potrebbe essere necessario molto tempo per vedere se un certo n è primo cerca di semplificarti la vita.
1) se il numero è pari non è primo. quindi if n%2==0 return false
2) il ciclo a questo punto può essere fatto solo sui numeri dispari.
3) con un po di matematica si riesce a dimostrare che non è necessario fare un ciclo che arrivi fino ad n. Infatti basta arrivare fino alla radice di n.

Cerca di fare qualcosa del genere!
be' volendo i numeri primi maggiori di 3, li puoi scrivere tutti nella forma 6k+/-1, quindi volendo non serve neanche guardarli tutti i dispari

Ultima modifica di tuccio` : 01-02-2011 alle 13:48.
tuccio` è offline   Rispondi citando il messaggio o parte di esso
Old 01-02-2011, 11:13   #10
rеpne scasb
Senior Member
 
Iscritto dal: May 2008
Messaggi: 533

Ultima modifica di rеpne scasb : 18-06-2012 alle 17:14.
rеpne scasb è offline   Rispondi citando il messaggio o parte di esso
Old 01-02-2011, 13:35   #11
clockover
Senior Member
 
L'Avatar di clockover
 
Iscritto dal: Oct 2004
Messaggi: 1945
Quote:
Originariamente inviato da rеpne scasb Guarda i messaggi
Se non hai problemi con i numeri molto grandi, e il numero da testare e' piccolo, allora puoi fare in questo modo:

sia 'n' il numero di cui vuoi testare la primalita', calcola la quantita' Q = ((n - 1)! + 1) / n, se intera allora 'n' e' primo altrimenti no.
Io direi di non confondergli troppo le idee.. secondo me meglio che cominci con qualcosa di magari poco efficiente ma semplice da scrivere. Poi ovviamente può renderlo migliore con il tempo.
clockover è offline   Rispondi citando il messaggio o parte di esso
Old 05-02-2011, 19:33   #12
hw85
Senior Member
 
Iscritto dal: Mar 2008
Messaggi: 4259
Ragazzi ho un problema "simile" se qualcuno mi può dare una mano ve ne sarei grato!

http://www.hwupgrade.it/forum/showthread.php?t=2317648

Grazie anticipate!!
__________________
concluso positivamente con:sidro007-EBJ-blindzoom-cala_l_asso-Elionba82-carson-piottocentino-Marco83_an-capzero-nino.nino-Pyefruitjuice-spakkone-Drago-relativo-pippo1955-MauritZ-stefano_na-Marci-SchumyFast-Andreww!!!-Neapolitan89-DEXTHA-kernelex-umegh-AndreaFra-zamboqdb-Xenon [TMI] || CERCO : Nulla per il momento || VENDO: Nulla per il momento
hw85 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione HUAWEI Mate X7: un foldable ottimo, ma restano i soliti problemi Recensione HUAWEI Mate X7: un foldable ottimo, m...
Nioh 3: souls-like punitivo e Action RPG Nioh 3: souls-like punitivo e Action RPG
Test in super anteprima di Navimow i220 LiDAR: il robot tagliaerba per tutti Test in super anteprima di Navimow i220 LiDAR: i...
Dark Perk Ergo e Sym provati tra wireless, software via browser e peso ridotto Dark Perk Ergo e Sym provati tra wireless, softw...
DJI RS 5: stabilizzazione e tracking intelligente per ogni videomaker DJI RS 5: stabilizzazione e tracking intelligent...
Social e minori, Butti apre al dibattito...
Tutte le offerte Amazon del weekend, sol...
Amazon spinge sull'usato garantito: 10% ...
TikTok rischia una maxi-multa in Europa:...
Bose su Amazon: QuietComfort SC over ear...
Scope elettriche super accessoriate in o...
Umidità e muffa addio: questo deu...
DREAME Aqua10 Ultra Roller a 999€ &egrav...
500.000 kit gratis consegnati: Noctua fa...
Il MIT sperimenta il calcolo termico: op...
Sembra ormai certo: la prossima Xbox sar...
"Solutions Beyond Displays": l...
La società europea The Exploratio...
Dalle auto ai robot umanoidi: Faraday Fu...
Vodafone annuncia la dismissione di un s...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 12:00.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v