23 lines
654 B
Python
23 lines
654 B
Python
|
# -*- coding: utf-8 -*-
|
||
|
|
||
|
# 100 coins must sum to $5.00
|
||
|
|
||
|
from pyswip.prolog import Prolog
|
||
|
|
||
|
def main():
|
||
|
prolog = Prolog()
|
||
|
prolog.consult("coins.pl")
|
||
|
count = int(raw_input("How many coins (default: 100)? ") or 100)
|
||
|
total = int(raw_input("What should be the total (default: 500)? ") or 500)
|
||
|
for i, soln in enumerate(prolog.query("coins(S, %d, %d)." % (count,total))):
|
||
|
# [1,5,10,50,100]
|
||
|
S = zip(soln["S"], [1, 5, 10, 50, 100])
|
||
|
print i,
|
||
|
for c, v in S:
|
||
|
print "%dx%d" % (c,v),
|
||
|
print
|
||
|
list(prolog.query("coins(S, %d, %d)." % (count,total)))
|
||
|
|
||
|
if __name__ == "__main__":
|
||
|
main()
|