Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 'https://rosettacode.org/wiki/Five_weekends
- Imports System
- Module Program
- Sub Main()
- Dim aMonth As Short() = {1, 3, 5, 7, 8, 10, 12} 'All 31 day months
- Dim aMMStore As New List(Of String) 'To store results
- Dim siYear, siMonth, siCount As Short 'Various variables
- Dim dDay As Date 'To store the day to check
- Dim sTemp As String 'Temp string
- For siYear = 1900 To 2100 'Loop through each year
- For siMonth = 0 To 6 'Loop through each 31 day month
- dDay = New Date(siYear, aMonth(siMonth), 1) 'Get the date of the 1st of the month
- If Weekday(dDay) = 6 Then
- aMMStore.Add(Format(dDay, "MMMM yyyy")) 'If the 1st is a Friday then store the result
- End If
- Next
- Next
- For Each sTemp In aMMStore 'For each item in the stored array..
- siCount += 1 'Increase siCount
- If siCount < 6 Then Console.WriteLine(aMMStore(siCount)) 'If 1 of the 1st 5 dates then print it
- If siCount = 6 Then Console.WriteLine(New String("-", 14)) 'Print a separator
- If siCount > aMMStore.Count - 5 Then Console.WriteLine(aMMStore(siCount - 1)) 'If 1 of the last 5 dates then print it
- Next
- Console.WriteLine("Total months = " & Str(siCount)) 'Print the number of months found
- siCount = 0 'Reset siCount
- sTemp = String.Join(",", aMMStore) 'Put all the stored dates in one string joined by commas
- aMMStore.Clear() 'Clear the store for reuse
- For siYear = 1900 To 2100 'Loop through each year
- If InStr(sTemp, Str(siYear)) = 0 Then 'If the year is not in the stored string then..
- siCount += 1 'Increase siCount (Amount of years that don't have 5 weekend months)
- aMMStore.Add(Str(siYear)) 'Add to the store
- End If
- Next
- Console.WriteLine()
- Console.WriteLine("There are " & Str(siCount) &
- " years that do not have at least one five-weekend month") 'Print the amount of years with no 5 weekend months
- Console.WriteLine(String.Join(",", aMMStore)) 'Print t
- End Sub
- End Module
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement