<?xml version="1.0"?>
<paste-with-annotations>
  <paste>
    <number>
      <integer>76629</integer>
    </number>
    <user>
      <string>sbp</string>
    </user>
    <title>
      <string>numbers2.py</string>
    </title>
    <contents>
      <string>#!/usr/bin/env python

def sums(a, b, c, d): 
   if (a + b + c) == d: 
      return True
   return False
sums_true = set()

def descending(a, b, c, d): 
   if (a &gt; b) and (b &gt; c): 
      return True
   return False
descending_true = set()

def even(a, b, c, d): 
   e = list(sorted([a % 2, b % 2, c % 2, d % 2]))
   if e == [0, 0, 1, 1]: 
      return True
   return False
even_true = set()

def primes(a, b, c, d): 
   n = 0
   p = set([2, 3, 5, 7])
   for num in (a, b, c, d): 
      if num in p: n += 1
   return n == 2
primes_true = set()

def squares(a, b, c, d): 
   n = 0
   s = set([1, 4, 9])
   for num in (a, b, c, d): 
      if num in s: n += 1
   return n == 2
squares_true = set()

for i in xrange(1000, 10000): 
   nums = str(i)
   a, b, c, d = map(int, nums)
   if sums(a, b, c, d): 
      sums_true.add(i)
   if descending(a, b, c, d): 
      descending_true.add(i)
   if even(a, b, c, d): 
      even_true.add(i)
   if primes(a, b, c, d): 
      primes_true.add(i)
   if squares(a, b, c, d): 
      squares_true.add(i)

print 'Sums:', len(sums_true)
print 'Descending:', len(descending_true)
print 'Even:', len(even_true)
print 'Primes:', len(primes_true)
print 'Squares:', len(squares_true)
print 

print 'Sums &amp; Descending:', len(sums_true &amp; descending_true)
print 'Sums &amp; Even:', len(sums_true &amp; even_true)
print 'Sums &amp; Primes:', len(sums_true &amp; primes_true)
print 'Sums &amp; Squares:', len(sums_true &amp; squares_true)

print 'Descending &amp; Even:', len(descending_true &amp; even_true)
print 'Descending &amp; Primes:', len(descending_true &amp; primes_true)
print 'Descending &amp; Squares:', len(descending_true &amp; squares_true)

print 'Even &amp; Primes:', len(even_true &amp; primes_true)
print 'Even &amp; Squares:', len(even_true &amp; squares_true)

print 'Primes &amp; Squares:', len(primes_true &amp; squares_true)
print 

all = len(sums_true &amp; descending_true &amp; even_true &amp; primes_true &amp; squares_true)
print 'All:', all
</string>
    </contents>
    <universal-time>
      <integer>3445442182</integer>
    </universal-time>
    <channel>
      <string>#swhack</string>
    </channel>
    <colorization-mode>
      <string>None</string>
    </colorization-mode>
    <maybe-spam>
      <null/>
    </maybe-spam>
    <is-unicode>
      <keyword>TRUE</keyword>
    </is-unicode>
    <deletion-requested>
      <null/>
    </deletion-requested>
    <deletion-requested-email>
      <null/>
    </deletion-requested-email>
    <expiration-time>
      <null/>
    </expiration-time>
  </paste>
  <annotation>
    <number>
      <integer>1</integer>
    </number>
    <user>
      <string>sbp</string>
    </user>
    <title>
      <string>output</string>
    </title>
    <contents>
      <string>Sums: 165
Descending: 1200
Even: 3375
Primes: 3168
Squares: 2457

Sums &amp; Descending: 23
Sums &amp; Even: 125
Sums &amp; Primes: 63
Sums &amp; Squares: 62
Descending &amp; Even: 500
Descending &amp; Primes: 456
Descending &amp; Squares: 336
Even &amp; Primes: 1320
Even &amp; Squares: 930
Primes &amp; Squares: 864

All: 2
</string>
    </contents>
    <universal-time>
      <integer>3445442222</integer>
    </universal-time>
    <channel>
      <string>#swhack</string>
    </channel>
    <colorization-mode>
      <string></string>
    </colorization-mode>
    <maybe-spam>
      <null/>
    </maybe-spam>
    <is-unicode>
      <keyword>TRUE</keyword>
    </is-unicode>
    <deletion-requested>
      <null/>
    </deletion-requested>
    <deletion-requested-email>
      <null/>
    </deletion-requested-email>
    <expiration-time>
      <null/>
    </expiration-time>
  </annotation>
</paste-with-annotations>
