■入試問題を解く
'-----------------------------------------------------------------------------
'1から999までの整数のうちで、次の整数はいくつあるか?
'(1) 各位の数の和が7となる整数
'(2) 各位の数の和が7の倍数となる整数
'-----------------------------------------------------------------------------
Sub IntReidai()
Dim num As Long
Dim tStr As String
Dim digitSum As Long
Dim Q1_Cnt As Long
Dim Q2_Cnt As Long
Q1_Cnt = 0
Q2_Cnt = 0
For num = 1 To 999
'文字列に変換してゼロ埋めした3桁を取得
tStr = Right("00" & CStr(num), 3)
'各位の和を計算
digitSum = CLng(Mid(tStr, 1, 1)) + CLng(Mid(tStr, 2, 1)) + CLng(Mid(tStr, 3, 1))
'(1)の場合
If digitSum = 7 Then
Q1_Cnt = Q1_Cnt + 1
End If
'(2)の場合
If digitSum Mod 7 = 0 Then
Q2_Cnt = Q2_Cnt + 1
End If
Next
Debug.Print "(1) : " & Q1_Cnt
Debug.Print "(2) : " & Q2_Cnt
End Sub