# Author: Manfred Scheucher # Date : 02.06.2015 from sys import argv def partition(n): assert(n>=0) if n == 0: yield 0 else: #maxk=n maxk=min(n,9) for k in range(maxk,0,-1): for P in partition(n-k): yield k+10*P minn = int(argv[1]) maxn = int(argv[2]) if len(argv)>2 else minn for n in [minn..maxn]: P = partition(n) if n%3 != 0 else [] ct = 0 for p in P: if p.is_prime(): ct += 1 # print n,p print n,ct