- 论坛徽章:
- 0
|
就是背包吧。
http://www.itnosh.com/2010/07/Project_Euler_76.html- # -*- coding: utf-8 -*-
- """
- @author: neo
- """
- tem={}
- def Pe76(v, n):
- global tem
- if 1>=n or v==2:
- if (v, n) not in tem:
- tem[(v, n)]=n/2+1
- return n/2+1
- else:
- return tem[(v, n)]
- elif v==1:
- if (v, n) not in tem:
- tem[(v, n)]=1
- return 1
- else:
- return tem[(v, n)]
- elif v>n:
- if (v, n) not in tem:
- tem[(v, n)]=Pe76(n-1, n)+1
- return Pe76(n-1, n)+1
- else:
- return tem[(v, n)]
- else:
- if (v, n) not in tem:
- temp=sum([Pe76(v-1, n-v*x) for x in xrange(n/v+1)])
- tem[(v, n)]=temp
- return temp
- else:
- return tem[(v, n)]
- print Pe76(99, 100)
复制代码 |
|