30x- 1 e 30x-11 contém todos os números primos terminados em 9 e números que são múltiplos
(30y- 7)(30z-17)
(30y-11)(30z-19)
(30y-13)(30z-23)
(30y-11)(30z+ 1)
(30y- 1)(30z-19)
(30y- 7)(30z- 7)
(30y-13)(30z-13)
(30y-17)(30z-17)
(30y-23)(30z-23)
Assim sendo todos os elementos existentes em 30x- 1 e 30x-11 que não existam nas expressões dos produtos são primos
os múltiplos existentes em 30x-13 podem ser decompostos pelas expressões seguintes:
(30y-13)(30z+ 1)
(30y- 1)(30z-17)
(30y- 7)(30z-11)
(30y-19)(30z-23)
os múltiplos existentes em 30x-23 podem ser decompostos pelas expressões seguintes:
(30y-23)(30z+ 1)
(30y- 1)(30z- 7)
(30y-11)(30z-17)
(30y-13)(30z-19)
Assim sendo todos os elementos existentes em 30x-13 e 30x-23 que não existam nas expressões dos produtos são primos
30x- 7 e 30x-17
contém todos os números primos terminados em 3 e números que são múltiplos
(30y- 7)(30z+ 1)
(30y- 1)(30z-23)
(30y-11)(30z-13)
(30y-17)(30z-19)
os múltiplos existentes em 30x-17 podem ser decompostos pelas expressões seguintes:
(30y-17)(30z+ 1)
(30y- 7)(30z-19)
(30y-11)(30z-23)
30x-19 e 30x+ 1 contém todos os números primos terminados em 1 e números que são múltiplos
(30y-19)(30z+ 1)
(30y- 7)(30z-23)
(30y-13)(30z-17)
(30y+ 1)(30z+ 1)
(30y- 1)(30z- 1)
(30y- 7)(30z-13)
(30y-11)(30z-11)
(30y-19)(30z-19)
(30y-17)(30z-23)
Assim sendo todos os elementos existentes em 30x-19 e 30x+ 1 que não existam nas expressões dos produtos são primos
podemos então escrever
As expressões abaixo contém todos os números múltiplos que existem em z=30w- 1 sendo os restantes elementos de z=30w- 1 números primos terminados em 9
z=30*(30xy- y+ x+ 0)- 1
z=30*(30xy- 7y-17x+ 4)- 1
z=30*(30xy-11y-19x+ 7)- 1
z=30*(30xy-13y-23x+10)- 1
As expressões abaixo contém todos os números múltiplos que existem em z=30w-11 sendo os restantes elementos de z=30w-11 números primos terminados em 9
z=30*(30xy-11y+ x+ 0)-11
z=30*(30xy- y-19x+ 1)-11
z=30*(30xy- 7y- 7x+ 2)-11
z=30*(30xy-13y-13x+ 6)-11
z=30*(30xy-17y-17x+10)-11
z=30*(30xy-23y-23x+18)-11
As expressões abaixo contém todos os números múltiplos que existem em z=30w-13 sendo os restantes elementos de z=30w-13 números primos terminados em 7
z=30*(30xy-13y+ x+ 0)-13
z=30*(30xy- y-17x+ 1)-13
z=30*(30xy- 7y-11x+ 3)-13
z=30*(30xy-19y-23x+15)-13
As expressões abaixo contém todos os números múltiplos que existem em z=30w-23 sendo os restantes elementos de z=30w-23 números primos terminados em 7
z=30*(30xy-23y+ x+ 0)-23
z=30*(30xy- y- 7x+ 1)-23
z=30*(30xy-11y-17x+ 7)-23
z=30*(30xy-13y-19x+ 9)-23
As expressões abaixo contém todos os números múltiplos que existem em z=30w- 7 sendo os restantes elementos de z=30w- 7 números primos terminados em 3
z=30*(30xy- 7y+ x+ 0)- 7
z=30*(30xy- y-23x+ 1)- 7
z=30*(30xy-11y-13x+ 5)- 7
z=30*(30xy-17y-19x+11)- 7
As expressões abaixo contém todos os números múltiplos que existem em z=30w-17 sendo os restantes elementos de z=30w-17 números primos terminados em 3
z=30*(30xy-17y+ x+ 0)-17
z=30*(30xy- y-13x+ 1)-17
z=30*(30xy- 7y-19x+ 5)-17
z=30*(30xy-11y-23x+ 9)-17
As expressões abaixo contém todos os números múltiplos que existem em z=30w-19 sendo os restantes elementos de z=30w-19 números primos terminados em 1
z=30*(30xy-19y+ x+ 0)-19
z=30*(30xy- y-11x+ 1)-19
z=30*(30xy- 7y-23x+ 6)-19
z=30*(30xy-13y-17x+ 8)-19
As expressões abaixo contém todos os números múltiplos que existem em z=30w-29 sendo os restantes elementos de z=30w-29 com w>1 números primos terminados em 1
z=30*(30xy+ y+ x+ 1)-29
z=30*(30xy- y- x+ 1)-29
z=30*(30xy- 7y-13x+ 4)-29
z=30*(30xy-11y-11x+ 5)-29
z=30*(30xy-19y-19x+13)-29
z=30*(30xy-17y-23x+14)-29
Para os múltiplos de z=30w- 1 temos então
para w=30xy- y+ x+ 0 vém x=(w- 0+ y)/(30y+ 1)
para w=30xy- 7y-17x+ 4 vém x=(w- 4+ 7y)/(30y-17)
para w=30xy-11y-19x+ 7 vém x=(w- 7+11y)/(30y-19)
para w=30xy-13y-23x+10 vém x=(w-10+13y)/(30y-23)
Para os múltiplos de z=30w-11 temos então
para w=30xy-11y+ x+ 0 vém x=(w- 0+11y)/(30y+ 1)
para w=30xy- y-19x+ 1 vém x=(w- 1+ y)/(30y-19)
para w=30xy- 7y- 7x+ 2 vém x=(w- 2+ 7y)/(30y- 7)
para w=30xy-13y-13x+ 6 vém x=(w- 6+13y)/(30y-13)
para w=30xy-17y-17x+10 vém x=(w-10+17y)/(30y-17)
para w=30xy-23y-23x+18 vém x=(w-18+23y)/(30y-23)
Para os múltiplos de z=30w-13 temos então
para w=30xy-13y+ x+ 0 vém x=(w- 0+13y)/(30y+ 1)
para w=30xy- y-17x+ 1 vém x=(w- 1+ y)/(30y-17)
para w=30xy- 7y-11x+ 3 vém x=(w- 3+ 7y)/(30y-11)
para w=30xy-19y-23x+15 vém x=(w-15+19y)/(30y-23)
Para os múltiplos de z=30w-23 temos então
para w=30xy-23y+ x+ 0 vém x=(w- 0+23y)/(30y+ 1)
para w=30xy- y- 7x+ 1 vém x=(w- 1+ y)/(30y- 7)
para w=30xy-11y-17x+ 7 vém x=(w- 7+11y)/(30y-17)
para w=30xy-13y-19x+ 9 vem x=(w- 9+13y)/(30y-19)
Para os múltiplos de z=30w- 7 temos então
para w=30xy- 7y+ x+ 0 vém x=(w- 0+ 7y)/(30y+ 1)
para w=30xy- y-23x+ 1 vém x=(w- 1+ y)/(30y-23)
para w=30xy-11y-13x+ 5 vém x=(w- 5+11y)/(30y-13)
para w=30xy-17y-19x+11 vém x=(w-11+17y)/(30y-19)
Para os múltiplos de z=30w-17 temos então
para w=30xy-17y+ x+ 0 vém x=(w- 0+17y)/(30y+ 1)
para w=30xy- y-13x+ 1 vém x=(w- 1+ y)/(30y-13)
para w=30xy- 7y-19x+ 5 vém x=(w- 5+ 7y)/(30y-19)
para w=30xy-11y-23x+ 9 vém x=(w- 9+11y)/(30y-23)
Para os múltiplos de z=30w-19 temos então
para w=30xy-19y+ x+ 0 vém x=(w- 0+19y)/(30y+ 1)
para w=30xy- y-11x+ 1 vém x=(w- 1+ y)/(30y-11)
para w=30xy- 7y-23x+ 6 vém x=(w- 6+ 7y)/(30y-23)
para w=30xy-13y-17x+ 8 vém x=(w- 8+13y)/(30y-17)
Para os múltiplos de z=30w-29 temos então
para w=30xy+ y+ x+ 1 vém x=(w- 1- y)/(30y+ 1)
para w=30xy- y- x+ 1 vém x=(w- 1+ y)/(30y- 1)
para w=30xy- 7y-13x+ 4 vém x=(w- 4+ 7y)/(30y-13)
para w=30xy-11y-11x+ 5 vém x=(w- 5+11y)/(30y-11)
para w=30xy-19y-19x+13 vém x=(w-13+19y)/(30y-19)
para w=30xy-17y-23x+14 vém x=(w-14+17y)/(30y-23)
Vamos agora verificar quantas operações temos
de fazer para verificar que um número é primo
Um número primo terminado em 7 tem de existir ou em z=30w-13 ou em z=30w-23
Então de z=30w-23 vém w=(104287+23)/30=3477
Então as expressões abaixo contém todos os números múltiplos
que existem em z=30w-23 sendo os restantes elementos de z=30w-23 números
primos terminados em 7
z=30*(30xy- y- 7x+ 1)-23
z=30*(30xy-11y-17x+ 7)-23
z=30*(30xy-13y-19x+ 9)-23
ou seja Para os múltiplos de z=30w-23 temos então
para w=30xy-23y+ x+ 0 vém x=(w- 0+23y)/(30y+ 1)
para w=30xy- y- 7x+ 1 vém x=(w-
1+ y)/(30y- 7)
para w=30xy-11y-17x+ 7 vém x=(w-
7+11y)/(30y-17)
para w=30xy-13y-19x+ 9 vem x=(w-
9+13y)/(30y-19)
Como w=3477 começamos com y=1 e avançamos
o valor de y até todos os resultados de x serem menores que 1
x= 112,9032
x= 151,1739
x= 267,7692
x= 316,4545
w=3477 y= 2 z=30w-23
x= 57,7541
x= 65,62264
x= 81,2093
x= 85,21951
w=3477 y= 3 z=30w-23
x= 38,96703
x= 41,91566
x= 47,9863
x= 49,39437
w=3477 y= 4 z=30w-23
x= 29,49587
x= 30,79646
x= 34,1165
x= 34,85149
w=3477 y= 5 z=30w-23
x= 23,78808
x= 24,34266
x= 26,50376
x= 26,96947
w=3477 y= 6 z=30w-23
x= 19,97238
x= 20,12717
x= 21,69325
x= 22,02484
w=3477 y= 7 z=30w-23
x= 17,24171
x= 17,15764
x= 18,37824
x= 18,63351
w=3477 y= 8 z=30w-23
x= 15,19087
x= 14,95279
x= 15,95516
x= 16,1629
w=3477 y= 9 z=30w-23
x= 13,5941
x= 13,25095
x= 14,10672
x= 14,28287
w=3477 y= 10 z=30w-23
x= 12,31561
x= 11,89761
x= 12,65018
x= 12,80427
...
w=3477 y= 496 z=30w-23
x= 1,000269
x= 0,267061
x= 0,600552
x= 0,66725
w=3477 y= 497 z=30w-23
x= 0,999799
x= 0,266591
x= 0,600081
x= 0,666779
Então precisamos de 497*4+2=1990 operações para confirmarmos que o número 104287 é primo contra as 323 necessárias pelo método de divisão tradicional, fantástico!
O importante é que temos um novo método!
Se escolhermos o número 104647 que não é primo obtemos
Um número primo terminado em 7 tem de existir ou em z=30w-13 ou em z=30w-23
De z=30w-13 vém w=(104647+13)/30 =3488,(6) não serve
Então de z=30w-23 vém w=(104647+23)/30=3489
Então as expressões abaixo contém todos os números múltiplos que existem em z=30w-23 sendo os restantes elementos de z=30w-23 números primos terminados em 7
z=30*(30xy-23y+ x+
0)-23
z=30*(30xy- y- 7x+
1)-23
z=30*(30xy-11y-17x+ 7)-23
z=30*(30xy-13y-19x+ 9)-23
ou seja Para os múltiplos de z=30w-23 temos então
para
w=30xy-23y+ x+ 0 vém x=(w- 0+23y)/(30y+ 1)
para w=30xy-
y- 7x+ 1 vém x=(w- 1+ y)/(30y- 7)
para w=30xy-11y-17x+
7 vém x=(w- 7+11y)/(30y-17)
para w=30xy-13y-19x+
9 vem x=(w- 9+13y)/(30y-19)
Como w=3489 começamos com y=1 e avançamos
o valor de y até todos os resultados de x serem menores que y
x= 113,2903
x= 151,6957
x= 268,6923
x= 317,5455
w=3489 y= 2 z=30w-23
x= 57,95082
x= 65,84906
x= 81,48837
x= 85,5122
w=3489 y= 3 z=30w-23
x= 39,0989
x= 42,06024
x= 48,15068
x= 49,56338
w=3489 y= 4 z=30w-23
x= 29,59504
x= 30,90265
x= 34,23301
x= 34,9703
w=3489 y= 5 z=30w-23
x= 23,86755
x= 24,42657
x= 26,59398
x= 27,06107
w=3489 y= 6 z=30w-23
x= 20,03867
x= 20,19653
x= 21,76687
x= 22,09938
w=3489 y= 7 z=30w-23
x= 17,29858
x= 17,21675
x= 18,44041
x= 18,69634
w=3489 y= 8 z=30w-23
x= 15,24066
x= 16,00897
x= 16,21719
w=3489 y= 9 z=30w-23
x= 13,63838
x= 13,29658
x= 14,15415
x= 14,33068
w=3489 y= 10 z=30w-23
x= 12,35548
x= 11,93857
x= 12,69258
x= 12,84698
w=3489 y= 11 z=30w-23
x= 11,30514
x= 10,83282
x= 11,51118
x= 11,64952
w=3489 y= 12 z=30w-23
x= 10,42936
x= 9,915014
x= 10,53644
x= 10,66276
vamos resolver y em ordem a x e
verificar
para
w=30xy-23y+ x+ 0 vém y=(w- 0-x)/(30x-23)
para w=30xy-
y- 7x+ 1 vém y=(w- 1+ 7x)/(30x- 1)
para w=30xy-11y-17x+
7 vém y=(w- 7+17x)/(30x-11)
para w=30xy-13y-19x+ 9 vem y=(w- 9+19x)/(30y-13)
y= 498,2857
y= 120,5172
y= 184,1579
y= 205,8235
w=3489 x= 2 z=30w-23
y= 94,24324
y= 59,35593
y= 71,7551
y= 74,85106
w=3489 x= 3 z=30w-23
y= 52,02985
y= 39,42697
y= 44,72152
y= 45,93506
w=3489 x= 4 z=30w-23
y= 35,92784
y= 29,54622
y= 32,56881
y= 33,23364
w=3489 x= 5 z=30w-23
y= 27,43307
y= 23,6443
y= 25,66187
y= 26,09489
w=3489 x= 6 z=30w-23
y= 22,18471
y= 19,72067
y= 21,2071
y= 21,52096
w=3489 x= 7 z=30w-23
y= 18,62032
y= 16,92344
y= 18,09548
y= 18,3401
w=3489 x= 8 z=30w-23
y= 16,04147
y= 14,82845
y= 15,79913
y= 16
Sub NumeroPrimo()
'
' NumeroPrimo Macro
'
'
Dim
z As Double
z = Range("B1").Value
If Int(z) <> z Then
MsgBox "Valor introduzido : " & z & " não é
um inteiro"
Else
If z = 0 Then
MsgBox "Zero
não pertence a N"
Else
If z = 1 Then
MsgBox "1
não é um número Primo"
Else
If z = 2 Or z = 3 Or z = 5 Then
MsgBox "O número :
" & z & " é um número primo"
Else
Dim digito
As Integer
digito = 10
* (z / 10 - Int(z / 10))
If digito = 0 Or digito = 2 Or digito = 4 Or digito = 6 Or digito = 8
Then
MsgBox "Numeros pares não
são primos"
Else
If digito
= 5 Then
MsgBox
"Multiplos de 5 não são números primos"
Else
If Int(z / 3) = z / 3
Then
MsgBox "Multiplos de 3
não são números primos"
Else
Dim w, x, y1, y2, y3,
y4, y5, y6, y7, y8 As Double
x = 1
If digito = 9 Then
w = (z + 1) / 30
If w = Int(w) Then
GoSub P30W01
Exit Sub
Else
w = (z + 11) /
30
GoSub P30W11
Exit Sub
End If
Else
If digito = 7 Then
w = (z + 13) /
30
If w = Int(w)
Then
GoSub P30W13
Exit Sub
Else
w = (z + 23)
/ 30
GoSub P30W23
Exit Sub
End If
Else
If digito = 3
Then
w = (z + 7) /
30
If w = Int(w) Then
GoSub
P30W07
Exit Sub
Else
w = (z +
17) / 30
GoSub P30W17
Exit Sub
End If
Else
If digito = 1
Then
w = (z +
19) / 30
If w =
Int(w) Then
GoSub
P30W19
Exit
Sub
Else
w = (z
+ 29) / 30
GoSub
P30W29
Exit
Sub
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
Exit Sub
P30W01:
y1 = 1 / 30 * ((30 * w - 1) / (30 * x + 1) + 1)
If y1 = Int(y1) And y1 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
y2 = 1 / 30 * ((30 * w - 1) / (30 * x - 17) + 7)
If y2 = Int(y2) And y2 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
y3 = 1 / 30 * ((30 * w - 1) / (30 * x - 19) + 11)
If y3 = Int(y3) And y3 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
y4 = 1 / 30 * ((30 * w - 1) / (30 * x - 23) + 13)
If y4 = Int(y4) And y4 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
y5 = 1 / 30 * ((30 * w - 1) / (30 * x - 1) - 1)
If y5 = Int(y5) And y5 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
y6 = 1 / 30 * ((30 * w - 1) / (30 * x - 7) + 17)
If y6 = Int(y6) And y6 >= x Then
MsgBox "O número : " & z & " não é um número
primo"
Return
End If
y7 = 1 / 30 * ((30 * w - 1) / (30 * x - 11) + 19)
If y7 = Int(y7) And y7 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
y8 = 1 / 30 * ((30 * w - 1) / (30 * x - 13) + 23)
If y8 = Int(y8) And y8 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
While y1 >= x Or y2 >= x Or y3 >= x Or y4 >= x Or y5 >= x
Or y6 >= x Or y7 >= x Or y8 >= x
x = x + 1
y1 = 1 / 30 * ((30 * w - 1) / (30 * x + 1) + 1)
If y1 = Int(y1) And y1 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
y2 = 1 / 30 * ((30 * w - 1) / (30 * x - 17) + 7)
If y2 = Int(y2) And y2 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
y3 = 1 / 30 * ((30 * w - 1) / (30 * x - 19) + 11)
If y3 = Int(y3) And y3 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
y4 = 1 / 30 * ((30 * w - 1) / (30 * x - 23) + 13)
If y4 = Int(y4) And y4 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
y5 = 1 / 30 * ((30 * w - 1) / (30 * x - 1) - 1)
If y5 = Int(y5) And y5 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
y6 = 1 / 30 * ((30 * w - 1) / (30 * x - 7) + 17)
If y6 = Int(y6) And y6 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
y7 = 1 / 30 * ((30 * w - 1) / (30 * x - 11) + 19)
If y7 = Int(y7) And y7 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
y8 = 1 / 30 * ((30 * w - 1) / (30 * x - 13) + 23)
If y8 = Int(y8) And y8 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
Wend
MsgBox "O número :
" & z & " é um número primo"
Return
P30W11:
y1 = 1 / 30 * ((30 * w - 11) / (30 * x + 1) + 11)
If y1 = Int(y1) And y1 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
y2 = 1 / 30 * ((30 * w - 11) / (30 * x - 19) + 1)
If y2 = Int(y2) And y2 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
y3 = 1 / 30 * ((30 * w - 11) / (30 * x - 7) + 7)
If y3 = Int(y3) And y3 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
y4 = 1 / 30 * ((30 * w - 11) / (30 * x - 13) + 13)
If y4 = Int(y4) And y4 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
y5 = 1 / 30 * ((30 * w - 11) / (30 * x - 17) + 17)
If y5 = Int(y5) And y5 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
y6 = 1 / 30 * ((30 * w - 11) / (30 * x - 23) + 23)
If y6 = Int(y6) And y6 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
y7 = 1 / 30 * ((30 * w - 11) / (30 * x - 11) - 1)
If y7 = Int(y7) And y7 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
y8 = 1 / 30 * ((30 * w - 11) / (30 * x - 11) + 19)
If y8 = Int(y8) And y8 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
While y1 >= x Or y2 >= x Or y3 >= x Or y4 >= x Or y5 >= x
Or y6 >= x Or y7 >= x Or y8 >= x
x = x + 1
y1 = 1 / 30 * ((30 * w - 11) / (30 * x + 1) + 11)
If y1 = Int(y1) And y1 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
y2 = 1 / 30 * ((30 * w - 11) / (30 * x - 19) + 1)
If y2 = Int(y2) And y2 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
y3 = 1 / 30 * ((30 * w - 11) / (30 * x - 7) + 7)
If y3 = Int(y3) And y3 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
y4 = 1 / 30 * ((30 * w - 11) / (30 * x - 13) + 13)
If y4 = Int(y4) And y4 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
y5 = 1 / 30 * ((30 * w - 11) / (30 * x - 17) + 17)
If y5 = Int(y5) And y5 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
y6 = 1 / 30 * ((30 * w - 11) / (30 * x - 23) + 23)
If y6 = Int(y6) And y6 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
y7 = 1 / 30 * ((30 * w - 11) / (30 * x - 11) - 1)
If y7 = Int(y7) And y7 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
y8 = 1 / 30 * ((30 * w - 11) / (30 * x - 11) + 19)
If y8 = Int(y8) And y8 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
Wend
MsgBox "O número :
" & z & " é um número primo"
Return
P30W13:
y1 = 1 / 30 * ((30 * w - 13) / (30 * x + 1) + 13)
If y1 = Int(y1) And y1 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
y2 = 1 / 30 * ((30 * w - 13) / (30 * x - 17) + 1)
If y2 = Int(y2) And y2 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
y3 = 1 / 30 * ((30 * w - 13) / (30 * x - 11) + 7)
If y3 = Int(y3) And y3 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
y4 = 1 / 30 * ((30 * w - 13) / (30 * x - 23) + 19)
If y4 = Int(y4) And y4 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
y5 = 1 / 30 * ((30 * w - 13) / (30 * x - 13) - 1)
If y5 = Int(y5) And y5 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
y6 = 1 / 30 * ((30 * w - 13) / (30 * x - 1) + 17)
If y6 = Int(y6) And y6 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
y7 = 1 / 30 * ((30 * w - 13) / (30 * x - 7) + 11)
If y7 = Int(y7) And y7 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
y8 = 1 / 30 * ((30 * w - 13) / (30 * x - 19) + 23)
If y8 = Int(y8) And y8 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
While y1 >= x Or y2 >= x Or y3 >= x Or y4 >= x Or y5 >= x
Or y6 >= x Or y7 >= x Or y8 >= x
x = x + 1
y1 = 1 / 30 * ((30 * w - 13) / (30 * x + 1) + 13)
If y1 = Int(y1) And y1 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
y2 = 1 / 30 * ((30 * w - 13) / (30 * x - 17) + 1)
If y2 = Int(y2) And y2 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
y3 = 1 / 30 * ((30 * w - 13) / (30 * x - 11) + 7)
If y3 = Int(y3) And y3 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
y4 = 1 / 30 * ((30 * w - 13) / (30 * x - 23) + 19)
If y4 = Int(y4) And y4 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
y5 = 1 / 30 * ((30 * w - 13) / (30 * x - 13) - 1)
If y5 = Int(y5) And y5 >= x Then
MsgBox "O número : " & z & " não é um número
primo"
Return
End If
y6 = 1 / 30 * ((30 * w - 13) / (30 * x - 1) + 17)
If y6 = Int(y6) And y6 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
y7 = 1 / 30 * ((30 * w - 13) / (30 * x - 7) + 11)
If y7 = Int(y7) And y7 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
y8 = 1 / 30 * ((30 * w - 13) / (30 * x - 19) + 23)
If y8 = Int(y8) And y8 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
Wend
MsgBox "O número :
" & z & " é um número primo"
Return
P30W23:
y1 = 1 / 30 * ((30 * w - 23) / (30 * x + 1) + 23)
If y1 = Int(y1) And y1 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
y2 = 1 / 30 * ((30 * w - 23) / (30 * x - 7) + 1)
If y2 = Int(y2) And y2 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
y3 = 1 / 30 * ((30 * w - 23) / (30 * x - 17) + 11)
If y3 = Int(y3) And y3 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
y4 = 1 / 30 * ((30 * w - 23) / (30 * x - 19) + 13)
If y4 = Int(y4) And y4 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
y5 = 1 / 30 * ((30 * w - 23) / (30 * x - 23) - 1)
If y5 = Int(y5) And y5 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
y6 = 1 / 30 * ((30 * w - 23) / (30 * x - 1) + 7)
If y6 = Int(y6) And y6 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
y7 = 1 / 30 * ((30 * w - 23) / (30 * x - 11) + 17)
If y7 = Int(y7) And y7 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
y8 = 1 / 30 * ((30 * w - 23) / (30 * x - 13) + 19)
If y8 = Int(y8) And y8 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
While y1 >= x Or y2 >= x Or y3 >= x Or y4 >= x Or y5 >= x
Or y6 >= x Or y7 >= x Or y8 >= x
x = x + 1
y1 = 1 / 30 * ((30 * w - 23) / (30 * x + 1) + 23)
If y1 = Int(y1) And y1 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
y2 = 1 / 30 * ((30 * w - 23) / (30 * x - 7) + 1)
If y2 = Int(y2) And y2 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
y3 = 1 / 30 * ((30 * w - 23) / (30 * x - 17) + 11)
If y3 = Int(y3) And y3 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
y4 = 1 / 30 * ((30 * w - 23) / (30 * x - 19) + 13)
If y4 = Int(y4) And y4 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
y5 = 1 / 30 * ((30 * w - 23) / (30 * x - 23) - 1)
If y5 = Int(y5) And y5 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
y6 = 1 / 30 * ((30 * w - 23) / (30 * x - 1) + 7)
If y6 = Int(y6) And y6 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
y7 = 1 / 30 * ((30 * w - 23) / (30 * x - 11) + 17)
If y7 = Int(y7) And y7 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
y8 = 1 / 30 * ((30 * w - 23) / (30 * x - 13) + 19)
If y8 = Int(y8) And y8 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
Wend
MsgBox "O número :
" & z & " é um número primo"
Return
P30W07:
y1 = 1 / 30 * ((30 * w - 7) / (30 * x + 1) + 7)
If y1 = Int(y1) And y1 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
y2 = 1 / 30 * ((30 * w - 7) / (30 * x - 23) + 1)
If y2 = Int(y2) And y2 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
y3 = 1 / 30 * ((30 * w - 7) / (30 * x - 13) + 11)
If y3 = Int(y3) And y3 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
y4 = 1 / 30 * ((30 * w - 7) / (30 * x - 19) + 17)
If y4 = Int(y4) And y4 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
y5 = 1 / 30 * ((30 * w - 7) / (30 * x - 7) - 1)
If y5 = Int(y5) And y5 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
y6 = 1 / 30 * ((30 * w - 7) / (30 * x - 1) + 23)
If y6 = Int(y6) And y6 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
y7 = 1 / 30 * ((30 * w - 7) / (30 * x - 11) + 13)
If y7 = Int(y7) And y7 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
y8 = 1 / 30 * ((30 * w - 7) / (30 * x - 17) + 19)
If y8 = Int(y8) And y8 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
While y1 >= x Or y2 >= x Or y3 >= x Or y4 >= x Or y5 >= x
Or y6 >= x Or y7 >= x Or y8 >= x
x = x + 1
y1 = 1 / 30 * ((30 * w - 7) / (30 * x + 1) + 7)
If y1 = Int(y1) And y1 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
y2 = 1 / 30 * ((30 * w - 7) / (30 * x - 23) + 1)
If y2 = Int(y2) And y2 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
y3 = 1 / 30 * ((30 * w - 7) / (30 * x - 13) + 11)
If y3 = Int(y3) And y3 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
y4 = 1 / 30 * ((30 * w - 7) / (30 * x - 19) + 17)
If y4 = Int(y4) And y4 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
y5 = 1 / 30 * ((30 * w - 7) / (30 * x - 7) - 1)
If y5 = Int(y5) And y5 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
y6 = 1 / 30 * ((30 * w - 7) / (30 * x - 1) + 23)
If y6 = Int(y6) And y6 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
y7 = 1 / 30 * ((30 * w - 7) / (30 * x - 11) + 13)
If y7 = Int(y7) And y7 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
y8 = 1 / 30 * ((30 * w - 7) / (30 * x - 17) + 19)
If y8 = Int(y8) And y8 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
Wend
MsgBox "O número :
" & z & " é um número primo"
Return
P30W17:
y1 = 1 / 30 * ((30 * w - 17) / (30 * x + 1) + 23)
If y1 = Int(y1) And y1 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
y2 = 1 / 30 * ((30 * w - 17) / (30 * x - 7) + 1)
If y2 = Int(y2) And y2 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
y3 = 1 / 30 * ((30 * w - 17) / (30 * x - 17) + 11)
If y3 = Int(y3) And y3 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
y4 = 1 / 30 * ((30 * w - 17) / (30 * x - 19) + 13)
If y4 = Int(y4) And y4 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
y5 = 1 / 30 * ((30 * w - 17) / (30 * x - 23) - 1)
If y5 = Int(y5) And y5 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
y6 = 1 / 30 * ((30 * w - 17) / (30 * x - 1) + 7)
If y6 = Int(y6) And y6 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
y7 = 1 / 30 * ((30 * w - 17) / (30 * x - 11) + 17)
If y7 = Int(y7) And y7 >= x Then
MsgBox "O número : " & z & " não é um número
primo"
Return
End If
y8 = 1 / 30 * ((30 * w - 17) / (30 * x - 13) + 19)
If y8 = Int(y8) And y8 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
While y1 >= x Or y2 >= x Or y3 >= x Or y4 >= x Or y5 >= x
Or y6 >= x Or y7 >= x Or y8 >= x
x = x + 1
y1 = 1 / 30 * ((30 * w - 17) / (30 * x + 1) + 23)
If y1 = Int(y1) And y1 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
y2 = 1 / 30 * ((30 * w - 17) / (30 * x - 7) + 1)
If y2 = Int(y2) And y2 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
y3 = 1 / 30 * ((30 * w - 17) / (30 * x - 17) + 11)
If y3 = Int(y3) And y3 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
y4 = 1 / 30 * ((30 * w - 17) / (30 * x - 19) + 13)
If y4 = Int(y4) And y4 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
y5 = 1 / 30 * ((30 * w - 17) / (30 * x - 23) - 1)
If y5 = Int(y5) And y5 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
y6 = 1 / 30 * ((30 * w - 17) / (30 * x - 1) + 7)
If y6 = Int(y6) And y6 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
y7 = 1 / 30 * ((30 * w - 17) / (30 * x - 11) + 17)
If y7 = Int(y7) And y7 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
y8 = 1 / 30 * ((30 * w - 17) / (30 * x - 13) + 19)
If y8 = Int(y8) And y8 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
Wend
MsgBox "O número :
" & z & " é um número primo"
Return
P30W19:
y1 = 1 / 30 * ((30 * w - 19) / (30 * x + 1) + 19)
If y1 = Int(y1) And y1 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
y2 = 1 / 30 * ((30 * w - 19) / (30 * x - 11) + 1)
If y2 = Int(y2) And y2 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
y3 = 1 / 30 * ((30 * w - 19) / (30 * x - 23) + 7)
If y3 = Int(y3) And y3 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
y4 = 1 / 30 * ((30 * w - 19) / (30 * x - 17) + 13)
If y4 = Int(y4) And y4 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
y5 = 1 / 30 * ((30 * w - 19) / (30 * x - 19) - 1)
If y5 = Int(y5) And y5 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
y6 = 1 / 30 * ((30 * w - 19) / (30 * x - 1) + 11)
If y6 = Int(y6) And y6 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
y7 = 1 / 30 * ((30 * w - 19) / (30 * x - 7) + 23)
If y7 = Int(y7) And y7 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
y8 = 1 / 30 * ((30 * w - 19) / (30 * x - 13) + 17)
If y8 = Int(y8) And y8 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
While y1 >= x Or y2 >= x Or y3 >= x Or y4 >= x Or y5 >= x
Or y6 >= x Or y7 >= x Or y8 >= x
x = x + 1
y1 = 1 / 30 * ((30 * w - 19) / (30 * x + 1) + 19)
If y1 = Int(y1) And y1 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
y2 = 1 / 30 * ((30 * w - 19) / (30 * x - 11) + 1)
If y2 = Int(y2) And y2 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
y3 = 1 / 30 * ((30 * w - 19) / (30 * x - 23) + 7)
If y3 = Int(y3) And y3 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
y4 = 1 / 30 * ((30 * w - 19) / (30 * x - 17) + 13)
If y4 = Int(y4) And y4 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
y5 = 1 / 30 * ((30 * w - 19) / (30 * x - 19) - 1)
If y5 = Int(y5) And y5 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
y6 = 1 / 30 * ((30 * w - 19) / (30 * x - 1) + 11)
If y6 = Int(y6) And y6 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
y7 = 1 / 30 * ((30 * w - 19) / (30 * x - 7) + 23)
If y7 = Int(y7) And y7 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
y8 = 1 / 30 * ((30 * w - 19) / (30 * x - 13) + 17)
If y8 = Int(y8) And y8 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
Wend
MsgBox "O número :
" & z & " é um número primo"
Return
P30W29:
y1 = 1 / 30 * ((30 * w - 29) / (30 * x + 1) - 1)
If y1 = Int(y1) And y1 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
y2 = 1 / 30 * ((30 * w - 29) / (30 * x - 1) + 1)
If y2 = Int(y2) And y2 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
y3 = 1 / 30 * ((30 * w - 29) / (30 * x - 13) + 7)
If y3 = Int(y3) And y3 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
y4 = 1 / 30 * ((30 * w - 29) / (30 * x - 11) + 11)
If y4 = Int(y4) And y4 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
y5 = 1 / 30 * ((30 * w - 29) / (30 * x - 19) + 19)
If y5 = Int(y5) And y5 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
y6 = 1 / 30 * ((30 * w - 29) / (30 * x - 23) + 17)
If y6 = Int(y6) And y6 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
y7 = 1 / 30 * ((30 * w - 29) / (30 * x - 7) + 13)
If y7 = Int(y7) And y7 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
y8 = 1 / 30 * ((30 * w - 29) / (30 * x - 17) + 23)
If y8 = Int(y8) And y8 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
While y1 >= x Or y2 >= x Or y3 >= x Or y4 >= x Or y5 >= x
Or y6 >= x Or y7 >= x Or y8 >= x
x = x + 1
y1 = 1 / 30 * ((30 * w - 29) / (30 * x + 1) - 1)
If y1 = Int(y1) And y1 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
y2 = 1 / 30 * ((30 * w - 29) / (30 * x - 1) + 1)
If y2 = Int(y2) And y2 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
y3 = 1 / 30 * ((30 * w - 29) / (30 * x - 13) + 7)
If y3 = Int(y3) And y3 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
y4 = 1 / 30 * ((30 * w - 29) / (30 * x - 11) + 11)
If y4 = Int(y4) And y4 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
y5 = 1 / 30 * ((30 * w - 29) / (30 * x - 19) + 19)
If y5 = Int(y5) And y5 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
y6 = 1 / 30 * ((30 * w - 29) / (30 * x - 23) + 17)
If y6 = Int(y6) And y6 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
y7 = 1 / 30 * ((30 * w - 29) /
(30 * x - 7) + 13)
If y7 = Int(y7) And y7 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
y8 = 1 / 30 * ((30 * w - 29) / (30 * x - 17) + 23)
If y8 = Int(y8) And y8 >= x Then
MsgBox "O número : " & z & " não é um
número primo"
Return
End If
Wend
MsgBox "O número :
" & z & " é um número primo"
Return
End Sub
Sem comentários:
Enviar um comentário