All SolutionsAll Solutions
📅
Friday 13th
Week 7, 2026
Python - Datetime Lib | BMC | Python Solutions
#%%
from datetime import date
for year in range(1, 10000):
for month in range(1, 13):
if date(year, month, 13).weekday() == 4:
print(f"{year:04d}-{month:02d}-13")
does not pad year with zeros though | Draw6 | C++ Solutions
//Paste your solution here if you want to share it publicly#include <iostream>
#include <iomanip>
#include <ctime>
int main() {
for (int year = 0001; year <= 9999; ++year)
{
for (int month = 0; month < 12; ++month)
{
std::tm time_in = {0, 0, 0, 13, month, year - 1900}; // 13th day
std::time_t time_temp = std::mktime(&time_in);
std::tm *time_out = std::localtime(&time_temp);
if (time_out->tm_wday == 5)
{ // 5 corresponds to Friday
std::cout << std::put_time(time_out, "%Y-%m-%d") << std::endl;
}
}
}
return 0;
}
Using built-in datetime package | greenya | Odin Solutions
package main
import "core:fmt"
import "core:time/datetime"
main :: proc () {
first_day := datetime.Ordinal(1)
last_day, _ := datetime.date_to_ordinal({ year=9999, month=12, day=31 })
for day in first_day..=last_day {
weekday := datetime.day_of_week(day)
if weekday == .Friday {
date, _ := datetime.ordinal_to_date(day)
if date.day == 13 {
fmt.printfln("%4i-%2i-%2i", date.year, date.month, date.day)
}
}
}
}
No library, Write to file | THOMAS L | Python Solutions
//Paste your solution here if you want to share it publicly
with open("example.txt", "w") as f:
daysInMonth = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
day = 0# loops from 0 - 6
for year in range(9999):
for month in range(12):
numDays = daysInMonth[month]
if month == 1:
if (year + 1) % 4 == 0:
if (year + 1) % 100 == 0:
if (year + 1) % 400 == 0:
numDays = 29
else:
numDays = 29
for date in range(numDays):
if day == 4 and date == 12:
yStr = str(year + 1)
mStr = str(month + 1)
dStr = str(date + 1)
yStr = (4 - len(yStr)) * "0" + yStr
mStr = (2 - len(mStr)) * "0" + mStr
dStr = (2 - len(dStr)) * "0" + dStr
f.write(yStr + "-" + mStr + "-" + dStr + "\n")
day = (day + 1) % 7
curdy | Peiran D | Python Solutions
//Paste your solution here if you want to share it publiclyfrom datetime import date, timedelta
def find_friday_13ths():
friday_13ths = []
for year in range(1, 10000):
for month in range(1, 13):
try:
current_date = date(year, month, 13)
if current_date.weekday() == 4:
friday_13ths.append(current_date.strftime("%Y-%m-%d"))
except ValueError:
continue
return friday_13ths
results = find_friday_13ths()
for date_str in results:
print(date_str)
DataTime-Sys | KellerW | Python Solutions
import datetime
import sys
original_stdout = sys.stdout
date = datetime.date(1, 1, 1)
with open('output.txt', 'w') as f:
sys.stdout = f
while date.year <= 9999:
if date.strftime("%A") == "Friday" and date.day == 13:
print(date)
date += datetime.timedelta(days=1)