百鸡问题扩展: N 鸡问题
N元钱买N只鸡,公鸡每只5元,母鸡每只3元,小鸡1元3 只,N元钱必须刚好买N只鸡,而且鸡必须整只买,不能劈开买。请问有几种买法?
要求:
输入格式:
在一行中输入一个正整数N,(N<500)
输出格式:
在一行中输出两个整数c s,中间用一个空格隔开,表示N元钱买N只鸡有种共有种买法,且所有买法的公鸡数量之和为s。如果无解,则s为-1
输入样例1:
100
输出样例1:
4 24
输入样例2:
1
输出样例2:
0 -1
解法如下:
n = int( input( ) )
counter = 0
cock_sum = 0
for cock in range(0,(n+1)):
for hen in range(0,(n+1)):
for chick in range(0,(n+1)):
if cock * 5 + hen * 3 + chick == n:
if cock + hen + chick*3 == n:
counter += 1
cock_sum= cock_sum + cock
if counter == 0:
cock_sum = -1
print("%d %d"%(counter,cock_sum))