找回密码
 欢迎注册
查看: 24839|回复: 6

[提问] 有趣的平方数,大家来求解

[复制链接]
发表于 2009-7-2 10:25:22 | 显示全部楼层 |阅读模式

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

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

×
$(20+25)^2=2025$ $(30+25)^2=3025$ $(88+209)^2=88209$ $(3086420+2469136)^2=30864202469136$ 大家来讨论下这种数,看看能否给出简单的一般性解法?
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2009-7-10 13:43:40 | 显示全部楼层
我来分析一下.假设两个k位数a,b,使得 $(a+b)^2=10^k*a+b$ 于是$(10^k-a)*a=(b-1+2a)b$ 设$b=u*a_1,b-1=v*a_2,a=a_1*a_2$ 于是$u*a_1-v*a_2=1$ 而且带入方程得到 $10^k-a_1*a_2=(v+2*a_1)*u$ 即$10^k-1=a_1*a_2+u*v+2*a_1*u-1=a_1*a_2+u*v+a_1*u+a_2*v=(a_1+v)*(a_2+u)$ 记$d_1=a_1+v,d_2=a_2+u$ 我们得到$d_1*d_2=10^k-1$,而且$d_2*a_1-d_1*a_2=(a_2+u)*a_1-(a_1+v)*a_2=u*a_1-v*a_2=1$ 于是我们知道$(d_1,d_2)=1$ 于是计算方法很简单了, 将$10^k-1$因子分解成两个互素的部分$d_1,d_2$,然后通过广义辗转相除法求出整数$a_1,a_2$使得 $a_1*d_2-a_2*d_1=1$(结果是一个解系),然后找出解系中满足$a=a_1*a_2<10^k$的数(通常应该正好一个),然后计算$b=(d_2-a_2)*a_1$

评分

参与人数 1威望 +1 鲜花 +1 收起 理由
282842712474 + 1 + 1

查看全部评分

毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2009-7-10 13:51:03 | 显示全部楼层
比如随便挑选k=20 (13:28) gp > factor(10^20-1) %20 = [3 2] [11 1] [41 1] [101 1] [271 1] [3541 1] [9091 1] [27961 1] (13:44) gp > d1=9*11*41*101 %21 = 409959 (13:45) gp > d2=271*3541*9091*27961 %22 = 243926831707561 (13:45) gp > Mod(1/d2,d1) %23 = Mod(281980, 409959) (13:47) gp > Mod(-1/d1,d2) %24 = Mod(167778943759981, 243926831707561) (13:48) gp > 281980*d2-167778943759981*d1 %25 = 1 (13:48) gp > a1=281980 %26 = 281980 (13:48) gp > a2=167778943759981 %27 = 167778943759981 (13:48) gp > a1*a2-10^20 %28 = -52689693438560557620 (13:48) gp > a1*a2 %29 = 47310306561439442380 (13:49) gp > a=a1*a2 %30 = 47310306561439442380 (13:49) gp > (d2-a2)*a1 %31 = 21472181443458608400 (13:49) gp > b=(d2-a2)*a1 %32 = 21472181443458608400 (13:49) gp > (a+b)^2 %33 = 4731030656143944238021472181443458608400
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2009-7-10 14:12:59 | 显示全部楼层
弄些辅助函数:
  1. get_3_times(x)=
  2. {
  3. local(u);
  4. if(x%3==0,u=1+get_3_times(x/3),u=0);
  5. u
  6. }
  7. get_by_d(d1,d2)=
  8. {
  9. local(a1,a2,a,b);
  10. a1=component(Mod(1/d2,d1),2);
  11. a2=component(Mod(-1/d1,d2),2);
  12. a=a1*a2;
  13. b=(d2-a2)*a1;
  14. [a,b]
  15. }
  16. get_any(k)=
  17. {
  18. local(u,c,d1,d2);
  19. u=10^k-1;
  20. c=get_3_times(u);
  21. d1=3^c;
  22. d2=u/d1;
  23. get_by_d(d1,d2)
  24. }
复制代码
(14:11) gp > get_by_d((10^125-1)/9,9*(10^250+1)*(10^125+1)) %65 = [7716049382716049382716049382716049382716049382716049382716049382716049382 71604938271604938271604938271604938271604938271605077160493827160493827160493827 16049382716049382716049382716049382716049382716049382716049382716049382716049382 71604938271605014660493827160493827160493827160493827160493827160493827160493827 16049382716049382716049382716049382716049382716049382716049521604938271604938271 60493827160493827160493827160493827160493827160493827160493827160493827160493827 160493827160493827160494, 270061728395061728395061728395061728395061728395061728 39506172839506172839506172839506172839506172839506172839506172839506175200617283 95061728395061728395061728395061728395061728395061728395061728395061728395061728 39506172839506172839506172839506173013117283950617283950617283950617283950617283 95061728395061728395061728395061728395061728395061728395061728395061728395061728 50617283950617283950617283950617283950617283950617283950617283950617283950617283 950617283950617283950617283950617283950617284] (14:11) gp > a=component(%65,1) %66 = 77160493827160493827160493827160493827160493827160493827160493827160493827 16049382716049382716049382716049382716049382716050771604938271604938271604938271 60493827160493827160493827160493827160493827160493827160493827160493827160493827 16049382716050146604938271604938271604938271604938271604938271604938271604938271 60493827160493827160493827160493827160493827160493827160495216049382716049382716 04938271604938271604938271604938271604938271604938271604938271604938271604938271 60493827160493827160494 (14:11) gp > b=component(%65,2) %67 = 27006172839506172839506172839506172839506172839506172839506172839506172839 50617283950617283950617283950617283950617283950617520061728395061728395061728395 06172839506172839506172839506172839506172839506172839506172839506172839506172839 50617283950617301311728395061728395061728395061728395061728395061728395061728395 06172839506172839506172839506172839506172839506172839506172850617283950617283950 61728395061728395061728395061728395061728395061728395061728395061728395061728395 0617283950617283950617284 (14:11) gp > (a+b)^2 %68 = 77160493827160493827160493827160493827160493827160493827160493827160493827 16049382716049382716049382716049382716049382716050771604938271604938271604938271 60493827160493827160493827160493827160493827160493827160493827160493827160493827 16049382716050146604938271604938271604938271604938271604938271604938271604938271 60493827160493827160493827160493827160493827160493827160495216049382716049382716 04938271604938271604938271604938271604938271604938271604938271604938271604938271 60493827160493827160494027006172839506172839506172839506172839506172839506172839 50617283950617283950617283950617283950617283950617283950617283950617520061728395 06172839506172839506172839506172839506172839506172839506172839506172839506172839 50617283950617283950617283950617301311728395061728395061728395061728395061728395 06172839506172839506172839506172839506172839506172839506172839506172839506172850 61728395061728395061728395061728395061728395061728395061728395061728395061728395 0617283950617283950617283950617283950617284
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2009-7-10 14:15:21 | 显示全部楼层
不过挺有意思,结果好像通常周期性很强,尽量破坏一下周期性看看: (14:13) gp > get_by_d((10^125-1)/(10^5-1),(10^5-1)*(10^250+1)*(10^125+1)) %70 = [5759995199952999539995499955999569995799958999599996099961999629996399964 99965999669996799968999699997099971999729997399975011759992699927999289992999930 99931999329993399934999359993699937999389993999940999419994299943999449994599946 99947999489995001775999019990299903999049990599906999079990899909999109991199912 99913999149991599916999179991899919999209992199922999239992502375998769987799878 99879998809988199882998839988499885998869988799888998899989099891998929989399894 99895998969989799898999000, 1823999479994699945999449994399942999419994099939999 38999379993699935999349993399932999319993099929999289992799926999259992501223999 72999719997099969999689996799966999659996499963999629996199960999599995899957999 56999559995499953999529995199950999500062399997999969999599994999939999299991999 90999899998899987999869998599984999839998299981999809997999978999779997699975999 75000240002300022000210002000019000180001700016000150001400013000120001100010000 090000800007000060000500004000030000200001000000] (14:13) gp > a=component(%65,1) %71 = 77160493827160493827160493827160493827160493827160493827160493827160493827 16049382716049382716049382716049382716049382716050771604938271604938271604938271 60493827160493827160493827160493827160493827160493827160493827160493827160493827 16049382716050146604938271604938271604938271604938271604938271604938271604938271 60493827160493827160493827160493827160493827160493827160495216049382716049382716 04938271604938271604938271604938271604938271604938271604938271604938271604938271 60493827160493827160494 (14:13) gp > a=component(%70,1) %72 = 57599951999529995399954999559995699957999589995999960999619996299963999649 99659996699967999689996999970999719997299973999750117599926999279992899929999309 99319993299933999349993599936999379993899939999409994199942999439994499945999469 99479994899950017759990199902999039990499905999069990799908999099991099911999129 99139991499915999169991799918999199992099921999229992399925023759987699877998789 98799988099881998829988399884998859988699887998889988999890998919989299893998949 9895998969989799898999000 (14:14) gp > b=component(%70,2) %73 = 18239994799946999459994499943999429994199940999399993899937999369993599934 99933999329993199930999299992899927999269992599925012239997299971999709996999968 99967999669996599964999639996299961999609995999958999579995699955999549995399952 99951999509995000623999979999699995999949999399992999919999099989999889998799986 99985999849998399982999819998099979999789997799976999759997500024000230002200021 00020000190001800017000160001500014000130001200011000100000900008000070000600005 00004000030000200001000000 (14:14) gp > (a+b)^2 %74 = 57599951999529995399954999559995699957999589995999960999619996299963999649 99659996699967999689996999970999719997299973999750117599926999279992899929999309 99319993299933999349993599936999379993899939999409994199942999439994499945999469 99479994899950017759990199902999039990499905999069990799908999099991099911999129 99139991499915999169991799918999199992099921999229992399925023759987699877998789 98799988099881998829988399884998859988699887998889988999890998919989299893998949 98959989699897998989990001823999479994699945999449994399942999419994099939999389 99379993699935999349993399932999319993099929999289992799926999259992501223999729 99719997099969999689996799966999659996499963999629996199960999599995899957999569 99559995499953999529995199950999500062399997999969999599994999939999299991999909 99899998899987999869998599984999839998299981999809997999978999779997699975999750 00240002300022000210002000019000180001700016000150001400013000120001100010000090 000800007000060000500004000030000200001000000
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2009-7-10 16:30:14 | 显示全部楼层

评分

参与人数 1威望 +1 收起 理由
282842712474 + 1 谢谢你的软件

查看全部评分

毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2009-9-8 23:50:08 | 显示全部楼层
本帖最后由 wayne 于 2009-9-8 23:51 编辑 1# 282842712474 这种数叫喀氏数,Kaprekar number id:A006886
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

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

GMT+8, 2024-11-25 00:14 , Processed in 0.026278 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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