王守恩 发表于 6 天前

wayne 发表于 2025-5-15 09:47
第三问,设$T=f(m,n)$,,那么逆推公式就是$m=\frac{R}{2}+T-\frac{R^2}{2}, n= \frac{R}{2}-T+\frac{R^2}{2}+ ...

谢谢 wayne!应该是这个。谢谢 wayne!

Table T]; {(R - R^2 + 2 T^2)/2, (R + R^2 - 2 T^2 + 2)/2}, {T, 39}]

{{1, 1}, {1, 3}, {3, 2}, {1, 6}, {4, 4}, {8, 1}, {4, 7}, {9, 3}, {3, 11}, {9, 6}, {1, 16}, {8, 10}, {16, 3}, {6, 15}, {15, 7}, {3, 21}, {13, 12}, {24, 2}, {10, 18}, {22, 7}, {6, 25},
{19, 13}, {1, 33}, {15, 20}, {30, 6}, {10, 28}, {26, 13}, {4, 37}, {21, 21}, {39, 4}, {15, 30}, {34, 12}, {8, 40}, {28, 21}, {49, 1}, {21, 31}, {43, 10}, {13, 42}, {36, 20}}

补充内容 (2025-5-17 05:28):
Table]; {R - R^2 + 2 T, R + R^2 - 2 T + 2}/2, {T, 39}]

nyy 发表于 6 天前

王守恩 发表于 2025-5-15 10:47
谢谢 wayne!应该是这个。谢谢 wayne!

Table T]; {(R - R^2 + 2 T^2)/2, (R + R^2 - ...

根据这个计算,2应该是1,2吧?你的表怎么没有?
究竟是谁错了,还是都是错误的?

iseemu2009 发表于 6 天前

本帖最后由 iseemu2009 于 2025-5-15 11:40 编辑

下面是我设计的一个更有视觉效果的程序,p是我们想查看的任意一个数字,值可以改动。

Clear["`*"]
p = 49;
(*任意输入一个整数 *)
n = IntegerPart[(1 + Sqrt)/2];   

x = Prepend]], 1];      

f := Rest];      
(*创建函数f(x),x是一个表,把表中各元素加1后,再去掉第一个元素*)

k = (n^2 + n)/2 - p;
(*此步是计算斜行最后一个数字距p有多远。比如差2,意味着斜行最后两个元素没有,只到p就完了。后面就要想办法把最后两行的最后一个元素分别去掉\
*)

a = NestList;
(*将x运用到f函数n-1次,显示每步的结果。最后是一个嵌套列表。 *)

b = Table], {i, k}];
(*此步是提取b中的最后k个元素。但它是倒着排列的,不是我想要的顺序*)

c = Reverse;
(*把b中所有元素颠倒过来排列*)

d = Drop;
(*去掉a中的最后k个元素,这些是我不想要的。为下一步使用Join命令做准备*)

e = Table], -1], {i, k}];
(*分别去掉最后k行中最末一个元素*)

f = Drop;

g = Join;

h = ToString[#] <> "列" & /@Range;

i = Join[{h}, g];

m = Flatten;

l = ToString[#] <> "行" & /@ Range;

o = Join[{" "}, l];

q = Join[{o}, m];

r = Flatten;

Grid[r, Dividers -> All,
ItemStyle -> {1 -> Directive,
    1 -> Directive, {n - k + 1, k + 2} ->
   Directive},
Frame -> {None, None, {n - k + 1, k + 2} -> True},
Spacings -> {1, 1}, Alignment -> {{Left, {Right}}},
Background -> {Automatic,
    Automatic, {{{n - k + 1, n - k + 1}, {1, k + 1}} ->
      Lighter, {{1, n - k}, {k + 2, k + 2}} ->
      Lighter, {n - k + 1, k + 2} ->
      Lighter}}] // Text


iseemu2009 发表于 6 天前

程序说明

wayne 发表于 6 天前

搞的还是太复杂了. 把9#的放进来,整个画图 就两行代码的事情.
f=Function[{TT},Function[{R,T},{R/2-R^2/2+T,R/2+R^2/2+1-T}]],TT]];
Grid->Style,{k,200}]]],Frame->All]

王守恩 发表于 6 天前

wayne 发表于 2025-5-15 09:47
第三问,设$T=f(m,n)$,,那么逆推公式就是$m=\frac{R}{2}+T-\frac{R^2}{2}, n= \frac{R}{2}-T+\frac{R^2}{2}+ ...

Table T]; {(R - R^2 + 2 T^2)/2, (R + R^2 - 2 T^2 + 2)/2, (R - R^2 + 2 T^2)/2 + (R + R^2 - 2 T^2 + 2)/2}, {T, 39}]

{{1, 1, 2}, {1, 3, 4}, {3, 2, 5}, {1, 6, 7}, {4, 4, 8}, {8, 1, 9}, {4, 7, 11}, {9, 3, 12}, {3, 11, 14}, {9, 6, 15}, {1, 16, 17}, {8, 10, 18}, {16, 3, 19}, {6, 15, 21}, {15, 7, 22}, {3, 21, 24}, {13, 12, 25}, {24, 2, 26}, {10, 18, 28}, {22, 7, 29}, {6, 25, 31},
{19, 13, 32}, {1, 33, 34}, {15, 20, 35}, {30, 6, 36}, {10, 28, 38}, {26, 13, 39}, {4, 37, 41}, {21, 21, 42}, {39, 4, 43}, {15, 30, 45}, {34, 12, 46}, {8, 40, 48}, {28, 21, 49}, {49, 1, 50}, {21, 31, 52}, {43, 10, 53}, {13, 42, 55}, {36, 20, 56}}

第3个数是前2个数的和。我只想把第3个数没有的数拉出来——1, 3, 6, 10, 13, 16, 20, 23, 27, 30, 33, 37, 40, 44, 47, 51, 54——怎么拉——我是拉不出来——OEIS没有这串数。谢谢!

iseemu2009 发表于 6 天前

本帖最后由 iseemu2009 于 2025-5-15 15:01 编辑

王守恩 发表于 2025-5-15 12:47
Table T]; {(R - R^2 + 2 T^2)/2, (R + R^2 - 2 T^2 + 2)/2, (R - R^2 + 2 T^2)/2 + ( ...

你的这个数据很好提出来,下面程序中 a就是你原来的数据,b 就是提出 a 中所有子表的第3个元素,c 就是把 b 中最后一个最大的元素提出来,并用 Range函数生成 1-56。最关键的就是 d,它是求 b 和 c 两个表中没有的元素(共同的元素消去了)。

Clear["`*"]
a = TableT]; {(R - R^2 + 2T^2)/2, (R + R^2 - 2T^2 + 2)/2, (R - R^2 + 2T^2)/2 + (R + R^2 - 2T^2 + 2)/2}, {T, 39}];
b = #[] & /@ a;
c = Range];
d = Complement

{1, 3, 6, 10, 13, 16, 20, 23, 27, 30, 33, 37, 40, 44, 47, 51, 54}

王守恩 发表于 6 天前

iseemu2009 发表于 2025-5-15 14:57
你的这个数据很好提出来,下面程序中 a就是你原来的数据,b 就是提出 a 中所有子表的第3个元素,c 就是把 ...

第3个数可以这样出来——Table T] + 1, {T, 39}]

{2, 4, 5, 7, 8, 9, 11, 12, 14, 15, 17, 18, 19, 21, 22, 24, 25, 26, 28, 29, 31, 32, 34, 35, 36, 38, 39, 41, 42, 43, 45, 46, 48, 49, 50, 52, 53, 55, 56}

我还是不知道怎么把第3个数没有的数拉出来——1, 3, 6, 10, 13, 16, 20, 23, 27, 30, 33, 37, 40, 44, 47, 51, 54,

iseemu2009 发表于 6 天前

王守恩 发表于 2025-5-15 15:27
第3个数可以这样出来——Table T] + 1, {T, 39}]

{2, 4, 5, 7, 8, 9, 11, 12, 14, 15, 17 ...

a = {2, 4, 5, 7, 8, 9, 11, 12, 14, 15, 17, 18, 19, 21, 22, 24, 25, 26,
   28, 29, 31, 32, 34, 35, 36, 38, 39, 41, 42, 43, 45, 46, 48, 49, 50,
   52, 53, 55, 56}
b = Range
c = Complement

nyy 发表于 6 天前

先算出在第1行的多少列,取下整,
然后看还缺多少,然后改变行与列!
页: 1 [2] 3 4 5 6
查看完整版本: 一道趣题