数学研发论坛

 找回密码
 欢迎注册
查看: 175|回复: 19

[求助] 数列程序化求解的方法

[复制链接]
发表于 2022-6-12 21:38:05 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?欢迎注册

x
1*a1+2*a2+....48*a48=480
a1+a2+....a48=80
an为自然数


求助各位大神,满足条件的{a1,a2....,a48}大概有多少组?
有没有程序化求解的办法?
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2022-6-13 15:22:57 | 显示全部楼层
递归应该可以,层数有点多
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2022-6-13 20:14:50 | 显示全部楼层
计算了一下,大约为 20746894993467691
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2022-6-13 22:18:07 | 显示全部楼层
看来还得添加新的约束条件,这个数列是我从工程需要抽象出来的,本来想穷举出来,在机器上看实际效果的
这解也太多了点
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2022-6-13 22:19:35 | 显示全部楼层
版主是用48层递归计算出来的吗,数列中的数值均为自然数也要这么多解吗?
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2022-6-13 22:30:29 | 显示全部楼层
递归到20就卡死了。递推出来的。注意自然数是包含0的
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2022-6-13 22:33:18 | 显示全部楼层
是的,确实是有0的情况
谢谢了
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2022-6-13 23:20:25 | 显示全部楼层
  1. import numpy as np
  2. def s(n,s1,s2):
  3.     t=np.zeros((n+1,s1+1,s2+1))
  4.     for i in range(s2+1):
  5.         t[1, i, i] = 1
  6.         t[2, i + i, i] = 1
  7.     for nn in range(3,n+1):
  8.         for x in range(s2+1):
  9.             for i in range(s1//nn+1):
  10.                 for y in range(s1+1):
  11.                     if y+i*nn<=s1:
  12.                         if x+i<=s2:
  13.                             t[nn, y + i * nn, x + i] +=t[nn - 1, y, x]
  14.     return(int(t[n,s1,s2]))
  15. print (s(48,480,80))
复制代码


返回  20746894993467692
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2022-6-14 22:29:13 | 显示全部楼层
多谢!
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
回复

使用道具 举报

 楼主| 发表于 2022-6-14 22:34:44 | 显示全部楼层
弱弱的问一句,这是C语言吗?我怎么感觉不太认识。。。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

小黑屋|手机版|数学研发网 ( 苏ICP备07505100号 )

GMT+8, 2022-7-1 10:34 , Processed in 0.097899 second(s), 16 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表