鱼C论坛

 找回密码
 立即注册
查看: 4327|回复: 10

题目261:平方和支点

[复制链接]
发表于 2017-1-13 17:05:00 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

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

x
Pivotal Square Sums

Let us call a positive integer k a square-pivot, if there is a pair of integers m > 0 and n ≥ k, such that the sum of the (m+1) consecutive squares up to k equals the sum of the m consecutive squares from (n+1) on:

(k-m)2 + ... + k2 = (n+1)2 + ... + (n+m)2

Some small square-pivots are

  • 4: 32 + 42 = 52
  • 21: 202 + 212 = 292
  • 24: 212 + 222 + 232 + 242 = 252 + 262 + 272
  • 110: 1082 + 1092 + 1102 = 1332 + 1342


Find the sum of all distinct square-pivots ≤ 1010.


题目:

我就称正整数 k 为平方支点,如果存在一对整数 m > 0 和 n ≥ k,使得到 k 为止的 (m+1) 个连续的平方的和等于从 (n+1) 开始的 m 个连续的平方的和:

(k-m)2 + ... + k2 = (n+1)2 + ... + (n+m)2.

一些小的平方支点:

  • 4:32 + 42 = 52
  • 21:202 + 212 = 292
  • 24:212 + 222 + 232 + 242 = 252 + 262 + 272
  • 110:1082 + 1092 + 1102 = 1332 + 1342


求所有 ≤ 1010 的不同的平方支点的和。


小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2017-1-13 21:52:44 | 显示全部楼层
跟欧拉学了一招

加了引号,无法被复制~
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-3-15 20:21:09 | 显示全部楼层
本帖最后由 99592938 于 2017-3-15 20:53 编辑
  1. ##平方支点等式化简为:(m+1)*k**2=m*n**2+m*(m+1)(n+k)
  2. ##由条件可分析:0<m<=(k-2)/2)**0.5
  3. ##循环带入k、m,可求出n值,若n>=k且为整数,则k为平方支点。
  4. def value_n(k,m):
  5.     l_n=[0,0]
  6.     a=m
  7.     b=m*(m+1)
  8.     c=(m+1)*m*k-(m+1)*k*k
  9.     if b*b-4*a*c<0:
  10.         return l_n
  11.     else:
  12.         d=(b*b-4*a*c)**0.5
  13.         n1=(-b+d)/(2*a)
  14.         n2=(-b-d)/(2*a)
  15.         if n1>=k and (n1-int(n1))==0:
  16.             l_n[0]=int(n1)
  17.         if n2>=k and (n2-int(n2))==0:
  18.             l_n[1]=int(n2)
  19.         return l_n

  20. num = int(input('请输入范围上限:'))
  21. dic_k={}
  22. for k in range(2,num+1):
  23.     for m in range(1,int(((k-2)/2)**0.5)+1):
  24.         l_n=value_n(k,m)
  25.         for each in l_n:
  26.             if each:
  27.                 dic_k[k]=[m,each]
  28. print(sum(dic_k.keys()))
  29. #print(sorted(list(dic_k.keys())))
复制代码


拿小范围数来试,程序是正确的,但拿100亿来跑~~~已经半个多小时了
>>>
请输入范围上限:110
355
[4, 12, 21, 24, 40, 60, 84, 110]
>>> ================================ RESTART ================================
>>>
请输入范围上限:10000000000
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-3-15 20:28:46 | 显示全部楼层

然而,这是网页加了限制,引号外面也不能复制,哈哈哈
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-5-14 21:02:44 | 显示全部楼层
怎么停更了呢- -
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

匿名鱼油  发表于 2017-12-3 21:12:30
去project euler官网去做吧,虽然是英文的(ω)
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具

发表于 2018-11-13 04:08:18 | 显示全部楼层
100亿的话,俨然需要借助数学的方法了,这个真的不会了。
  1. def filt1(num,twi):
  2.     m = num**2
  3.     for i in range(1,twi+1):
  4.         m += (num-i)**2
  5.     return m

  6. def filt2(num,twi):
  7.     m = num**2
  8.     for i in range(1,twi):
  9.         m += (num+i)**2
  10.     return m

  11. def choice(num):
  12.    
  13.     flag = int(((num**2) + (num-1)**2)**0.5)
  14.     for i in range(num+1,flag+1):
  15.         T = True
  16.         for j in range(1,num):
  17.             if filt1(num,j) == filt2(i,j):
  18.                 print(num,i,j)
  19.                 return True
  20.             elif filt1(num,j) < filt2(i,j):
  21.                 break
  22.     return False

  23. for i in range(1,10000000):
  24.     choice(i)
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-11 13:32:24 | 显示全部楼层

不是可以复制吗……
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-1 13:07:26 | 显示全部楼层
本帖最后由 代号-K 于 2020-4-1 14:02 编辑

把公式化简一下,然后进行判断
代码附上

  1. typedef unsigned long long ElementType;
  2. void getSquarePivots(int num){
  3.     int k, n, m;
  4.     int flag;
  5.     ElementType sum = 0, tmp;
  6.     for(k = 1; k <= num; k++){
  7.         for(m = 1; m <= k; m++){
  8.             flag = (int) (pow((m+1)*1.0/m, 0.5) * k);
  9.             tmp = pow(k-m,2);
  10.             if(tmp % m == 0){
  11.             for(n = k; n <= flag - 1; n++){
  12.                 if(tmp == (ElementType)((n-k+m)*(n+1+k)*m)){
  13.                     printf("k:%d, m:%d, n:%d\n",k,m,n);
  14.                     sum+= k;
  15.                 }
  16.             }
  17.             }
  18.         }
  19.     }
  20.     printf("result is follow\n");
  21.     printf("%lld\n",sum);
  22. }
  23. int main(int argc, char *argv[]){
  24.     //ElementType ret = -1;
  25.     getSquarePivots(100000);
  26.     return 0;
  27. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-1 13:49:21 | 显示全部楼层
跑代码,发现个大密秘
当且仅当 n==k 时 m 是递增的

  1. k:4, m:1, n:4
  2. k:12, m:2, n:12
  3. k:24, m:3, n:24
  4. k:40, m:4, n:40
  5. k:60, m:5, n:60
  6. k:84, m:6, n:84
  7. k:112, m:7, n:112
  8. k:144, m:8, n:144
  9. k:180, m:9, n:180
  10. k:220, m:10, n:220
  11. k:264, m:11, n:264
  12. k:312, m:12, n:312
  13. k:364, m:13, n:364
  14. k:420, m:14, n:420
  15. k:480, m:15, n:480
  16. k:544, m:16, n:544
  17. k:612, m:17, n:612
  18. k:684, m:18, n:684
  19. k:760, m:19, n:760
  20. k:840, m:20, n:840
  21. k:924, m:21, n:924
  22. k:1012, m:22, n:1012
  23. k:1104, m:23, n:1104
  24. k:1200, m:24, n:1200
  25. k:1300, m:25, n:1300
  26. k:1404, m:26, n:1404
  27. k:1512, m:27, n:1512
  28. k:1624, m:28, n:1624
  29. k:1740, m:29, n:1740
  30. k:1860, m:30, n:1860
  31. k:1984, m:31, n:1984
  32. k:2112, m:32, n:2112
  33. k:2244, m:33, n:2244
  34. k:2380, m:34, n:2380
  35. k:2520, m:35, n:2520
  36. k:2664, m:36, n:2664
  37. k:2812, m:37, n:2812
  38. k:2964, m:38, n:2964
  39. k:3120, m:39, n:3120
  40. k:3280, m:40, n:3280
  41. k:3444, m:41, n:3444
  42. k:3612, m:42, n:3612
  43. k:3784, m:43, n:3784
  44. k:3960, m:44, n:3960
  45. k:4140, m:45, n:4140
  46. k:4324, m:46, n:4324
  47. k:4512, m:47, n:4512
  48. k:4704, m:48, n:4704
  49. k:4900, m:49, n:4900
  50. k:5100, m:50, n:5100
  51. k:5304, m:51, n:5304
  52. k:5512, m:52, n:5512
  53. k:5724, m:53, n:5724
  54. k:5940, m:54, n:5940
  55. k:6160, m:55, n:6160
  56. k:6384, m:56, n:6384
  57. k:6612, m:57, n:6612
  58. k:6844, m:58, n:6844
  59. k:7080, m:59, n:7080
  60. k:7320, m:60, n:7320
  61. k:7564, m:61, n:7564
  62. k:7812, m:62, n:7812
  63. k:8064, m:63, n:8064
  64. k:8320, m:64, n:8320
  65. k:8580, m:65, n:8580
  66. k:8844, m:66, n:8844
  67. k:9112, m:67, n:9112
  68. k:9384, m:68, n:9384
  69. k:9660, m:69, n:9660
  70. k:9940, m:70, n:9940
  71. k:10224, m:71, n:10224
  72. k:10512, m:72, n:10512
  73. k:10804, m:73, n:10804
  74. k:11100, m:74, n:11100
  75. k:11400, m:75, n:11400
  76. k:11704, m:76, n:11704
  77. k:12012, m:77, n:12012
  78. k:12324, m:78, n:12324
  79. k:12640, m:79, n:12640
  80. k:12960, m:80, n:12960
  81. k:13284, m:81, n:13284
  82. k:13612, m:82, n:13612
  83. k:13944, m:83, n:13944
  84. k:14280, m:84, n:14280
  85. k:14620, m:85, n:14620
  86. k:14964, m:86, n:14964
  87. k:15312, m:87, n:15312
  88. k:15664, m:88, n:15664
  89. k:16020, m:89, n:16020
  90. k:16380, m:90, n:16380
  91. k:16744, m:91, n:16744
  92. k:17112, m:92, n:17112
  93. k:17484, m:93, n:17484
  94. k:17860, m:94, n:17860
  95. k:18240, m:95, n:18240
  96. k:18624, m:96, n:18624
  97. k:19012, m:97, n:19012
  98. k:19404, m:98, n:19404
  99. k:19800, m:99, n:19800
  100. k:20200, m:100, n:20200
  101. k:20604, m:101, n:20604
  102. k:21012, m:102, n:21012
  103. k:21424, m:103, n:21424
  104. k:21840, m:104, n:21840
  105. k:22260, m:105, n:22260
  106. k:22684, m:106, n:22684
  107. k:23112, m:107, n:23112
  108. k:23544, m:108, n:23544
  109. k:23980, m:109, n:23980
  110. k:24420, m:110, n:24420
  111. k:24864, m:111, n:24864
  112. k:25312, m:112, n:25312
  113. k:25764, m:113, n:25764
  114. k:26220, m:114, n:26220
  115. k:26680, m:115, n:26680
  116. k:27144, m:116, n:27144
  117. k:27612, m:117, n:27612
  118. k:28084, m:118, n:28084
  119. k:28560, m:119, n:28560
  120. k:29040, m:120, n:29040
  121. k:29524, m:121, n:29524
  122. k:30012, m:122, n:30012
  123. k:30504, m:123, n:30504
  124. k:31000, m:124, n:31000
  125. k:31500, m:125, n:31500
  126. k:32004, m:126, n:32004
  127. k:32512, m:127, n:32512
  128. k:33024, m:128, n:33024
  129. k:33540, m:129, n:33540
  130. k:34060, m:130, n:34060
  131. k:34584, m:131, n:34584
  132. k:35112, m:132, n:35112
  133. k:35644, m:133, n:35644
  134. k:36180, m:134, n:36180
  135. k:36720, m:135, n:36720
  136. k:37264, m:136, n:37264
  137. k:37812, m:137, n:37812
  138. k:38364, m:138, n:38364
  139. k:38920, m:139, n:38920
  140. k:39480, m:140, n:39480
  141. k:40044, m:141, n:40044
  142. k:40612, m:142, n:40612
  143. k:41184, m:143, n:41184
  144. k:41760, m:144, n:41760
  145. k:42340, m:145, n:42340
  146. k:42924, m:146, n:42924
  147. k:43512, m:147, n:43512
  148. k:44104, m:148, n:44104
  149. k:44700, m:149, n:44700
  150. k:45300, m:150, n:45300
  151. k:45904, m:151, n:45904
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-1 13:57:35 | 显示全部楼层
这是正常跑下来的,只能跑到151不知道怎么回事,可能电脑问题吧

  1. k:4, m:1, n:4
  2. k:12, m:2, n:12
  3. k:21, m:1, n:28
  4. k:24, m:3, n:24
  5. k:40, m:4, n:40
  6. k:60, m:5, n:60
  7. k:84, m:6, n:84
  8. k:110, m:2, n:132
  9. k:112, m:7, n:112
  10. k:120, m:1, n:168
  11. k:144, m:8, n:144
  12. k:180, m:9, n:180
  13. k:220, m:10, n:220
  14. k:264, m:11, n:264
  15. k:312, m:12, n:312
  16. k:315, m:3, n:360
  17. k:364, m:13, n:364
  18. k:420, m:14, n:420
  19. k:480, m:15, n:480
  20. k:544, m:16, n:544
  21. k:612, m:17, n:612
  22. k:684, m:4, n:760
  23. k:684, m:18, n:684
  24. k:697, m:1, n:984
  25. k:760, m:19, n:760
  26. k:820, m:8, n:861
  27. k:840, m:20, n:840
  28. k:924, m:21, n:924
  29. k:1012, m:22, n:1012
  30. k:1080, m:2, n:1320
  31. k:1104, m:23, n:1104
  32. k:1200, m:24, n:1200
  33. k:1265, m:5, n:1380
  34. k:1300, m:25, n:1300
  35. k:1404, m:26, n:1404
  36. k:1512, m:27, n:1512
  37. k:1624, m:28, n:1624
  38. k:1740, m:29, n:1740
  39. k:1860, m:30, n:1860
  40. k:1984, m:31, n:1984
  41. k:2106, m:6, n:2268
  42. k:2112, m:32, n:2112
  43. k:2244, m:33, n:2244
  44. k:2380, m:34, n:2380
  45. k:2520, m:35, n:2520
  46. k:2664, m:36, n:2664
  47. k:2812, m:37, n:2812
  48. k:2964, m:38, n:2964
  49. k:3120, m:39, n:3120
  50. k:3255, m:7, n:3472
  51. k:3280, m:40, n:3280
  52. k:3444, m:41, n:3444
  53. k:3612, m:42, n:3612
  54. k:3784, m:43, n:3784
  55. k:3960, m:44, n:3960
  56. k:4060, m:1, n:5740
  57. k:4140, m:45, n:4140
  58. k:4324, m:46, n:4324
  59. k:4368, m:3, n:5040
  60. k:4512, m:47, n:4512
  61. k:4704, m:48, n:4704
  62. k:4760, m:8, n:5040
  63. k:4900, m:49, n:4900
  64. k:5100, m:50, n:5100
  65. k:5304, m:51, n:5304
  66. k:5512, m:52, n:5512
  67. k:5724, m:53, n:5724
  68. k:5940, m:54, n:5940
  69. k:6160, m:55, n:6160
  70. k:6384, m:56, n:6384
  71. k:6612, m:57, n:6612
  72. k:6669, m:9, n:7020
  73. k:6844, m:58, n:6844
  74. k:7080, m:59, n:7080
  75. k:7320, m:60, n:7320
  76. k:7564, m:61, n:7564
  77. k:7812, m:62, n:7812
  78. k:8064, m:63, n:8064
  79. k:8320, m:64, n:8320
  80. k:8580, m:65, n:8580
  81. k:8844, m:66, n:8844
  82. k:9030, m:10, n:9460
  83. k:9112, m:67, n:9112
  84. k:9384, m:68, n:9384
  85. k:9660, m:69, n:9660
  86. k:9940, m:70, n:9940
  87. k:10224, m:71, n:10224
  88. k:10512, m:72, n:10512
  89. k:10682, m:2, n:13080
  90. k:10804, m:73, n:10804
  91. k:11100, m:74, n:11100
  92. k:11400, m:75, n:11400
  93. k:11704, m:76, n:11704
  94. k:11772, m:24, n:11990
  95. k:11891, m:11, n:12408
  96. k:12012, m:77, n:12012
  97. k:12240, m:4, n:13680
  98. k:12324, m:78, n:12324
  99. k:12640, m:79, n:12640
  100. k:12960, m:80, n:12960
  101. k:13284, m:81, n:13284
  102. k:13612, m:82, n:13612
  103. k:13944, m:83, n:13944
  104. k:14280, m:84, n:14280
  105. k:14620, m:85, n:14620
  106. k:14964, m:86, n:14964
  107. k:15300, m:12, n:15912
  108. k:15312, m:87, n:15312
  109. k:15664, m:88, n:15664
  110. k:16020, m:89, n:16020
  111. k:16380, m:90, n:16380
  112. k:16744, m:91, n:16744
  113. k:17112, m:92, n:17112
  114. k:17484, m:93, n:17484
  115. k:17860, m:94, n:17860
  116. k:18240, m:95, n:18240
  117. k:18624, m:96, n:18624
  118. k:19012, m:97, n:19012
  119. k:19305, m:13, n:20020
  120. k:19404, m:98, n:19404
  121. k:19800, m:99, n:19800
  122. k:20200, m:100, n:20200
  123. k:20604, m:101, n:20604
  124. k:21012, m:102, n:21012
  125. k:21424, m:103, n:21424
  126. k:21840, m:104, n:21840
  127. k:22260, m:105, n:22260
  128. k:22684, m:106, n:22684
  129. k:23112, m:107, n:23112
  130. k:23544, m:108, n:23544
  131. k:23661, m:1, n:33460
  132. k:23954, m:14, n:24780
  133. k:23980, m:109, n:23980
  134. k:24420, m:110, n:24420
  135. k:24864, m:111, n:24864
  136. k:25312, m:112, n:25312
  137. k:25764, m:113, n:25764
  138. k:26220, m:114, n:26220
  139. k:26680, m:115, n:26680
  140. k:27144, m:116, n:27144
  141. k:27612, m:117, n:27612
  142. k:27720, m:5, n:30360
  143. k:27724, m:8, n:29397
  144. k:28084, m:118, n:28084
  145. k:28441, m:49, n:28680
  146. k:28560, m:119, n:28560
  147. k:29040, m:120, n:29040
  148. k:29295, m:15, n:30240
  149. k:29524, m:121, n:29524
  150. k:30012, m:122, n:30012
  151. k:30504, m:123, n:30504
  152. k:31000, m:124, n:31000
  153. k:31500, m:125, n:31500
  154. k:32004, m:126, n:32004
  155. k:32512, m:127, n:32512
  156. k:33024, m:128, n:33024
  157. k:33540, m:129, n:33540
  158. k:34060, m:130, n:34060
  159. k:34584, m:131, n:34584
  160. k:35112, m:132, n:35112
  161. k:35376, m:16, n:36448
  162. k:35644, m:133, n:35644
  163. k:36180, m:134, n:36180
  164. k:36720, m:135, n:36720
  165. k:37264, m:136, n:37264
  166. k:37812, m:137, n:37812
  167. k:38364, m:138, n:38364
  168. k:38920, m:139, n:38920
  169. k:39480, m:140, n:39480
  170. k:40044, m:141, n:40044
  171. k:40612, m:142, n:40612
  172. k:41184, m:143, n:41184
  173. k:41760, m:144, n:41760
  174. k:42245, m:17, n:43452
  175. k:42340, m:145, n:42340
  176. k:42924, m:146, n:42924
  177. k:43512, m:147, n:43512
  178. k:44104, m:148, n:44104
  179. k:44700, m:149, n:44700
  180. k:45300, m:150, n:45300
  181. k:45904, m:151, n:45904
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-4 07:00

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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