找回密码
 欢迎注册
查看: 16503|回复: 0

[求助] 一段程序,运行结果正确,但是为何有警告提示呢?

[复制链接]
发表于 2016-11-3 19:38:48 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 TSC999 于 2016-11-3 20:01 编辑

我用 mathematica 写了一段程序,是针对本论坛【彩珠手串的配色计数】(见 http://bbs.emath.ac.cn/thread-9161-1-1.html)帖子的公式计算。
程序计算结果正确,但是有警告提示。为什么会有警告呢?如何能够消除警告?
  1. Clear[s]; Array[s, {30, 30}]; (*定义二维数组 s(16,16) *)
  2. For[q = 1, q <= 30, q++,     (* 计算二维数组 s 的值 *)
  3. For[p = 1, p <= 30, p++,
  4.   If[EvenQ[q], s[p, q] = 1/(2 q) \!\(
  5. \*UnderoverscriptBox[\(\[Sum]\), \(i = 1\), \(q\)]
  6. \*SuperscriptBox[\(p\), \(GCD[q, i]\)]\) + ((p + 1) p^(q/2))/4,
  7.     s[p, q] = 1/(2 q) \!\(
  8. \*UnderoverscriptBox[\(\[Sum]\), \(i = 1\), \(q\)]
  9. \*SuperscriptBox[\(p\), \(GCD[q, i]\)]\) + p^((q + 1)/2)/2];]]
  10. n =.; j = 30;
  11. Array[x, 30];             (* 解方程:用数组 x[i] 作为未知数 *)
  12.   For[n = 1, n <= j, n++,(* 算 1 至 30 珠 *)
  13. Clear[x]; a = Table[x[k], {k, 1, j}] /.
  14.    Solve[Table[\!\(
  15. \*UnderoverscriptBox[\(\[Sum]\), \(i = 1\), \(n\)]\(x[i]
  16. \*SuperscriptBox[\(k\), \(i\)]\)\) == s[k, n], {k, 1, j}],
  17.     Table[x[k], {k, 1, j}]];
  18. b = a[[1]];
  19. m =.; ss = \!\(
  20. \*UnderoverscriptBox[\(\[Sum]\), \(i = 1\), \(n\)]\(b[\([\)\(i\)\(]\)]*
  21. \*SuperscriptBox[\(m\), \(n + 1 - i\)]\)\);
  22. Print["s(", n, ")=", Factor[Simplify[ss]]]]
复制代码


上述程序运行结果见图:
运行结果1.png
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

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

GMT+8, 2024-3-29 23:43 , Processed in 0.044665 second(s), 19 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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