找回密码
 欢迎注册
楼主: wayne

[原创] a^2+b^2=N

[复制链接]
 楼主| 发表于 2012-1-20 12:30:49 | 显示全部楼层
第一问:
  1. MAX = 1000; Union@Flatten@Table[ii^2 + jj^2, {ii, Sqrt[MAX/2]}, {jj, ii, Sqrt[MAX - ii^2]}]
复制代码
第二问: 对于大于2的情况:
  1. f[n_] := If[Sqrt[n/2] \[Element] Integers, f[n/2] + 1, Quotient[Table[If[Mod[ii[[1]], 4] == 1, ii[[2]] + 1, 1], {ii, FactorInteger[n]}] /. 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[ii^2 + jj^2, {ii, Sqrt[MAX/2]}, {jj, ii, Sqrt[MAX - ii^2]}]

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


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

f[n_] := If[Sqrt[n/2] \[Element] Integers, f[n/2] + 1,
   Quotient[
    Table[If[Mod[ii[[1]], 4] == 1, ii[[2]] + 1, 1], {ii,
       FactorInteger[n]}] /. List -> Times, 2]];
Blst = Table[f[k], {k, 100}];
Clst = Table[
   Length[Solve[x^2 + y^2 == k && 0 < x <= y, {x, y}, Integers]],
   {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,解有几组。可以给出计数方法吗

  1. fun[n_Integer] :=
  2. Module[{decom, \[Delta], \[Epsilon], \[Xi]},
  3.   decom = Table[
  4.     Select[FactorInteger[n],
  5.       Mod[#[[1]], 4] == i && PrimeQ[#[[1]]] &][[All,
  6.      2]], {i, {2, 1, 3}}];
  7.   \[Delta] = (Times @[url=home.php?mod=space&uid=6175]@[/url] (1 + decom[[2]]))*(Times @@ ((1 + (-1)^#)/2 & /@
  8.          decom[[3]]));
  9.   \[Epsilon] = (Times @@ (((-1)^# + 1)/2 & /@
  10.         decom[[1]])) (Times @@ ((1 + (-1)^#)/2 & /@
  11.         decom[[2]])) (Times @@ ((1 + (-1)^#)/2 & /@ decom[[3]]));
  12.   \[Xi] = (Times @@ ((-1)^# & /@
  13.         decom[[1]])) (((-1)^Times @@ (1 + decom[[2]]) - 1)/
  14.       2) (Times @@ ((1 + (-1)^#)/2 & /@ decom[[3]]));
  15.   Thread[{"\[Delta]", "\[Epsilon]",
  16.      "\[Xi]"} -> {\[Delta], \[Epsilon], \[Xi]}]]
复制代码


1224321.png

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

评分

参与人数 1威望 +6 金币 +6 贡献 +6 经验 +6 鲜花 +6 收起 理由
wayne + 6 + 6 + 6 + 6 + 6 赞一个!

查看全部评分

毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2020-9-12 20:02:52 | 显示全部楼层
葡萄糖 发表于 2020-8-18 16:23
第二问好像和OEIS上的结果有点不一样呀
https://oeis.org/A025426

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

点评

嘻嘻~~~ :-)  发表于 2020-9-12 20:04
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2020-9-12 20:13:26 | 显示全部楼层
根据链接 https://mathworld.wolfram.com/SumofSquaresFunction.html,得到两种方法:

  1. 4 Table[Sum[Sin[(Pi d)/2], {d, Divisors[n]}], {n, 1000}]
复制代码
  1. SquaresR[2, Range[1000]]
复制代码
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

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

GMT+8, 2024-12-22 23:24 , Processed in 0.052908 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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