Другие языки программирования и технологии

Помогите написать программу. Дано натуральное 5-значное число n.Определить равны ли сумма и произведение его цифр.

Дано натуральное 5-значное число n.Определить равны ли сумма и произведение его цифр.
На VBA:
Option Explicit
Function IsEqual(Num)
If Not IsNumeric(Num) Then
IsEqual = "Was Errors"
Exit Function
End If

If Len(Num) <> 5 Then
IsEqual = "Was Errors"
Exit Function
End If

Dim i, summ, mul
summ = 0
mul = 1

For i = 1 To 5
summ = summ + CInt(Mid(Num, i, 1))
mul = mul * CInt(Mid(Num, i, 1))
Next

If mul = summ Then
IsEqual = "Is Equal"
Else
IsEqual = "Not Equal"
End If
End Function

Sub Main()
MsgBox IsEqual(52111)
MsgBox IsEqual(54321)
MsgBox IsEqual("error")
End Sub

Создание списка 5-значных чисел (VBA):
Sub Five()
Dim summ, mul, res, i, j, k
summ = 0
mul = 1
res = ""
k = 0
For i = 10000 To 99999
k = k + 1
For j = 1 To 5
summ = summ + CInt(Mid(i, j, 1))
mul = mul * CInt(Mid(i, j, 1))
Next

If (mul = summ) Then res = res & i & vbTab

summ = 0
mul = 1
Next
MsgBox res
End Sub
ГА
Георгий Агафонов
1 767
Лучший ответ
на С:
for( s = 0, m = 1; n > 0; n /= 10 ) { s += n % 10; m *= n % 10; }
if (s == m) printf( "Равно" );
Mедер Mурсалиев
Mедер Mурсалиев
34 701

Похожие вопросы