Di seguito vedremo un programma in Excel VBA Quello assegni se un numero è a numero primo o no.
Prima di iniziare: in matematica, un numero primo è un numero che ha esattamente due divisori di numeri distinti: 1 e se stesso. I venticinque numeri primi più piccoli sono: 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73 , 79, 83, 89 e 97. Ad esempio, 8 ha 1, 2, 4 e 8 come divisori e non è un numero primo.
Situazione:
un grafico pivot non ha filtri disponibili.
1. Innanzitutto, dichiariamo tre variabili. Una variabile Integer chiamiamo divisori, una variabile Long che chiamiamo numero e una variabile Long che chiamiamo i. Usiamo le variabili Long qui perché le variabili Long hanno una capacità maggiore delle variabili Intere.
NessunodivisoriCome Numero intero, numeroCome Lungo, ioCome Lungo
2. Inizializziamo due variabili. Inizializziamo i divisori delle variabili con valore 0. Usiamo la funzione InputBox per ottenere un numero dall'utente.
divisori = 0numero = InputBox('Inserisci un numero')
Dopo che l'utente ha inserito un numero, vogliamo verificare se questo numero è un numero primo o meno. Ricorda, un numero primo ha esattamente due divisori di numeri distinti: 1 e se stesso.
3. Avviamo un ciclo For Next.
qual è la funzione fv in ExcelPerio = 1Pernumero
4. Ora arriva la parte più importante del programma. Per calcolare il numero di divisori di un numero, utilizziamo l'operatore Mod. L'operatore Mod fornisce il resto di una divisione. Ad esempio, 7 mod 2 = 1 perché 7 diviso 2 è uguale a 3 con resto 1. Solo se 'number mod i' = 0, i è un divisore di numero. In questo caso vogliamo incrementare i divisori delle variabili di 1. La macro qui sotto fa il trucco.
SenumeroControio = 0Quindidivisori = divisori + 1
Fine Se
Excel VBA controlla questo per i = 1, i = 2, i = 3, i = 4 fino a i = numero. Nota che i = 1 e i = numero sono sempre divisori di numero. Solo se questi numeri sono gli unici divisori di numero, il numero è un numero primo.
5. Non dimenticare di chiudere il ciclo.
Prossimoio6. Se divisori è uguale a 2, visualizziamo un messaggio che dice che il numero inserito è un numero primo. Se il numero di divisori è maggiore di 2, visualizziamo un messaggio che dice che il numero inserito non è un numero primo.
Sedivisori = 2QuindiNumero MsgBox & 'è un numero primo'
Altro
Numero MsgBox & 'non è un numero primo'
Fine Se
7. Testare il programma.
Risultato per 104729:
Vai al capitolo successivo: Ciclo continuo