[第十一关]Babbage problem 巴贝奇问题

查尔斯·巴贝奇(1791年12月26日-1871年10月18日),英国数学家、发明家兼机械工程师。由于提出了差分机与分析机的设计概念(并有部分实做机器),被视为计算机先驱。他曾经预测自己的机器能够解决的诸多问题,并举了一个例子:

What is the smallest positive integer whose square ends in the digits 269,696?
— Babbage, letter to Lord Bowden, 1837; see Hollingdale and Tootill, Electronic Computers, second edition, 1970, p. 125.
找到一个最小的正整数,他的平方以269696结尾。
他猜测这个数是 99,736,其平方等于 9,947,269,696,但是他本人也无法确定这个答案是否正确。

任务

求出巴贝奇问题的正确答案。

参考代码

/* ahkversion: 2.0-beta3 */
/* What is the smallest positive integer whose square ends in the digits 269,696? */

msgbox babbage(269696)

babbage(q){
  n := floor(sqrt(q))
  divisor := 10 ** (floor(log(q)) + 1)
  while(mod(n * n, divisor) != q){
    n += 1
  }
  return n
}

给TA捐赠
共{{data.count}}人
人已捐赠
其他

[第1000关] ZigZag遍历二维数组

2022-2-15 22:16:01

其他教程

AHK调用opencv(五)保存视频

2022-2-16 14:40:14

3 条回复 A文章作者 M管理员
  1. ilaoyao

    这个好像比较简单吧,最小的整数计算出来是25264。

    /*
    ahk 1.x
    */
    #NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases.
    #Persistent ;保持后台运行
    #SingleInstance FORCE ;单实例运行模式
    SendMode Input ; Recommended for new scripts due to its superior speed and reliability.
    SetBatchLines -1
    ListLines Off

    res1:=”269696″
    min_a_index :=ceil(sqrt(res1))-1
    Gui, +LastFound +ToolWindow +AlwaysOnTop
    Gui, Color, EAEAEA,2b2b2b
    gui,margin,30,30
    GUI, Font, w200 Q5 s10 c2b2b2b , Microsoft Yahei
    GUI, ADD, BUTTON, Y+30 W200 default gstart, 开始
    GUI, ADD, BUTTON, Y+30 W200 gcancleme, 停止
    GUI, ADD, text, Y+20, Babbage result is …
    GUI, Font, w200 Q5 s16 cred bold , Microsoft Yahei
    GUI, ADD, text, Y+10 w250 , % “calculating…”
    gui,show,autosize center, Babbage problem
    return

    start:
    loop
    {
    temp1:=a_index . res1
    temp2:=sqrt(temp1)
    temp3:=round(temp2,0)+0
    temp4:=temp3**2

    if (temp1=temp4)
    {
    babbage_res:=round(temp2,0)+0
    guicontrol,,static2, % babbage_res
    break
    }

    }
    return

    cancleme:
    exitapp
    return

  2. ilaoyao

    我的思路是反向,将269696前面加序列,求平方根后取整位,对取整后的再进行平方,将两个平方值对比,如果一样,那么这个平方根就是巴贝奇数。

  3. ilaoyao

    第二个符合的数字才是巴贝奇提出的99736;
    后面的还有的是150264, 224736 ,275264

个人中心
购物车
优惠劵
有新私信 私信列表
搜索