wayne 发表于 2012-1-20 12:30:49

第一问:MAX = 1000; Union@Flatten@Table}, {jj, ii, Sqrt}]第二问:
对于大于2的情况:f := If \ Integers, f + 1, Quotient], 4] == 1, ii[] + 1, 1], {ii,FactorInteger}] /. List -> Times, 2]]

〇〇 发表于 2012-1-20 21:35:42

这些函数式语言真的很简洁

葡萄糖 发表于 2020-8-18 16:23:09

本帖最后由 葡萄糖 于 2020-8-18 16:24 编辑

wayne 发表于 2012-1-20 12:30
第一问:
MAX = 1000; Union@Flatten@Table}, {jj, ii, Sqrt}]

第二问:
对于大于2的情况:
f := If \ Integers, f + 1, Quotient], 4] == 1, ii[] + 1, 1], {ii,FactorInteger}] /. List -> Times, 2]]


第二问好像和OEIS上的结果有点不一样呀:Q:
https://oeis.org/A025426

f := If \ Integers, f + 1,
   Quotient[
    Table], 4] == 1, ii[] + 1, 1], {ii,
       FactorInteger}] /. List -> Times, 2]];
Blst = Table, {k, 100}];
Clst = Table[
   Length],
   {k, 100}];
Transpose[{Blst, Clst}] /. {a_, b_} /; a != b :> Style[{a, b}, Red]

葡萄糖 发表于 2020-8-22 16:38:07

本帖最后由 葡萄糖 于 2020-8-22 16:58 编辑

wayne 发表于 2012-1-19 09:57
已知丢番图方程a^2+b^2=N,a>=b>0

1)如果只有一组正整数解,这样的N有哪些,给出所有的N
2)对于确定的N,解有几组。可以给出计数方法吗


fun :=
Module[{decom, \, \, \},
decom = Table[
    Select,
      Mod[#[], 4] == i && PrimeQ[#[]] &][[All,
   2]], {i, {2, 1, 3}}];
\ = (Times @@ (1 + decom[]))*(Times @@ ((1 + (-1)^#)/2 & /@
         decom[]));
\ = (Times @@ (((-1)^# + 1)/2 & /@
      decom[])) (Times @@ ((1 + (-1)^#)/2 & /@
      decom[])) (Times @@ ((1 + (-1)^#)/2 & /@ decom[]));
\ = (Times @@ ((-1)^# & /@
      decom[])) (((-1)^Times @@ (1 + decom[]) - 1)/
      2) (Times @@ ((1 + (-1)^#)/2 & /@ decom[]));
Thread[{"\", "\",
   "\"} -> {\, \, \}]]



参考链接:
https://mathworld.wolfram.com/SumofSquaresFunction.html

wayne 发表于 2020-9-12 20:02:52

葡萄糖 发表于 2020-8-18 16:23
第二问好像和OEIS上的结果有点不一样呀
https://oeis.org/A025426



我的计算有误。你的链接很不错,我顺带着找到了这个:
https://mathworld.wolfram.com/GausssCircleProblem.html

wayne 发表于 2020-9-12 20:13:26

根据链接 https://mathworld.wolfram.com/SumofSquaresFunction.html,得到两种方法:

4 Table, {d, Divisors}], {n, 1000}]
SquaresR]
页: 1 [2]
查看完整版本: a^2+b^2=N