Problem: You are given an integer N. Among the divisors of N! (= 1 \times 2 \times ... \times N), how many _Shichi-Go numbers_ (literally "Seven-Five numbers") are there?  Here, a Shichi-Go number is a positive integer that has exactly 75 divisors.

Submission attempts (in order):
import math
import itertools
from collections import defaultdict

def primes(n):
    is_prime = [True] * (n + 1)
    is_prime[0] = False
    is_prime[1] = False
    for i in range(2, int(n**0.5) + 1):
        if not is_prime[i]:
            continue
        for j in range(i * 2, n + 1, i):
            is_prime[j] = False
    return [i for i in range(n + 1) if is_prime[i]]


N = int(input())
# N = 50
anslist = []



for p in primes(N):
    tmp = 0
    i = 1
    while True:
        tmp2 = math.floor(N/(p**i))
        if tmp2 == 0:
            break
        else:
            tmp += tmp2
            i += 1
    anslist.append(tmp)

print(anslist)
ans = 0
for a in anslist:
    if a<2:
        continue
    else:
        templist = anslist.copy()
        templist.remove(a)
        templist = [i for i in templist if i >= 4]
        r = len(templist)
        # print(templist)
        # print(int((r*(r-1))/2))
        ans += (r*(r-1))/2


print(int(ans))

import math
import itertools
from collections import defaultdict

def primes(n):
    is_prime = [True] * (n + 1)
    is_prime[0] = False
    is_prime[1] = False
    for i in range(2, int(n**0.5) + 1):
        if not is_prime[i]:
            continue
        for j in range(i * 2, n + 1, i):
            is_prime[j] = False
    return [i for i in range(n + 1) if is_prime[i]]


N = int(input())
anslist = []

print(primes(N))

for p in primes(N):
    tmp = 0
    i = 1
    while True:
        tmp2 = math.floor(N/(p**i))
        if tmp2 == 0:
            break
        else:
            tmp += tmp2
            i += 1
    anslist.append(tmp)

print(anslist)
ans = 0
for a in anslist:
    if a<2:
        continue
    else:
        templist = anslist.copy()
        templist.remove(a)
        templist = [i for i in templist if i >= 4]
        r = len(templist)
        print(templist)
        print(int((r*(r-1))/2))
        ans += (r*(r-1))/2


print(int(ans))

import math
import itertools
from collections import defaultdict

def primes(n):
    is_prime = [True] * (n + 1)
    is_prime[0] = False
    is_prime[1] = False
    for i in range(2, int(n**0.5) + 1):
        if not is_prime[i]:
            continue
        for j in range(i * 2, n + 1, i):
            is_prime[j] = False
    return [i for i in range(n + 1) if is_prime[i]]


N = int(input())
# N = 100
anslist = []

primelist = primes(N)

for p in primelist:
    tmp = 0
    i = 1
    while True:
        tmp2 = math.floor(N/(p**i))
        if tmp2 == 0:
            break
        else:
            tmp += tmp2
            i += 1
    anslist.append(tmp)


# print(anslist)
# print("------")

ans = []

pqrlist = [[4,4,2],[14,4,0],[24,2,0],[74,0,0]]

combs = list(itertools.permutations(range(len(anslist)), 3))
for pqr in pqrlist:
    for c in combs:
        pp,qq,rr = anslist[c[0]], anslist[c[1]], anslist[c[2]]
        if pp >= pqr[0] and qq >= pqr[1] and rr >= pqr[2]:
            p,q,r = primelist[c[0]], primelist[c[1]], primelist[c[2]]
            product = (p**pqr[0])*(q**pqr[1])*(r**pqr[2])
            if product not in ans:
                ans.append(product)

print(len(ans))

Verdicts: Wrong Answer

Wrong Answer

Accepted