Консультация № 201085
04.06.2021, 19:49
0.00 руб.
0 1 1
Уважаемые эксперты! Пожалуйста, ответьте на вопрос:

Написать логическую функцию, принимающую значения True, если в целом числе, являющимся единственным аргументом этой функции, сумма цифр – простое число.
(На языке VBA)
Огромное спасибо!!!

Обсуждение

давно
Модератор
137394
1850
04.06.2021, 23:13
общий
это ответ
vba
Код:
Sub SubSimp()

N = InputBox("Введите целое N>0")

ierr = False
If IsNumeric(N) Then
CN = CDbl(N)
ierr = CDbl(CN) > 0 And Int(CN) = CN
End If

If Not ierr Then
MsgBox "Введено неверное число" + vbCrLf + N
Exit Sub
End If

If FunSimp(N) Then
MsgBox "Сумма цифр в числе" + vbCrLf + vbCrLf + CStr(N) + vbCrLf + vbCrLf + "простое число"
Else
MsgBox "Сумма цифр в числе" + vbCrLf + vbCrLf + CStr(N) + vbCrLf + vbCrLf + "НЕ простое число"
End If

End Sub
Function FunSimp(N)
S = CStr(N)
k = Len(S)
SS = 0
For i = 1 To k
SS = SS + CInt(Mid(S, i, 1))
Next
FunSimp = True
If SS > 3 Then
For i = 2 To SS - 1
FunSimp = (SS Mod i <> 0)
If Not FunSimp Then Exit Function
Next
End If
End Function
5
Об авторе:
Понеже не словес красных бог слушает, но дел наших хощет
Форма ответа