|
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件 ★ 免费下载 ★ ★ 使用帮助★
Function PS(Num, Optional PK = 0)
'PS Max=2^31-1=2147483647
If PK = 0 Then
'If Num Mod 2 = 0 Then Num = Num - 1
If MD(Num, 2) = 0 Then Num = Num - 1
B = 1
Do Until Num < B ^ 2
Num = Num + 2
B = 3
Do Until Num < B ^ 2
'If Num Mod B = 0 Then Exit Do
If MD(Num, B) = 0 Then Exit Do
B = B + 2
Loop
Loop
PS = Num
Exit Function
End If
PS = 1
B = 2
Do Until Num < B ^ 2
'If PK = -1 And Num Mod B = 0 Then
If PK = -1 And MD(Num, B) = 0 Then
PS = 0
Exit Function
ElseIf PK > 1 Then
Do
'If Num Mod PK = 0 Then
If MD(Num, PK) = 0 Then
Num = Num / PK
N = N + 1
Else
If N > 0 Then
PS = N
Else
PS = ""
End If
Exit Function
End If
Loop
End If
Do
'If Num Mod B = 0 Then
If MD(Num, B) = 0 Then
Num = Num / B
N = N + 1
Else
If N > 0 Then
If PS = 1 Then
PS = "=" & B
Else
PS = PS & "*" & B
End If
End If
If N > 1 Then PS = PS & "^" & N
N = 0
Exit Do
End If
Loop
If B = 2 Then
B = 3
Else
B = B + 2
End If
Loop
If PK = -1 Then
PS = 1
ElseIf PK = 1 Then
If PS = 1 Then
PS = Num
ElseIf Num > 1 Then
PS = PS & "*" & Num
End If
ElseIf PK = Num Then
PS = 1
Else
PS = ""
End If
End Function |
|