雷劈数

有位外国数学家叫卡普利加,在一次旅行中,遇到猛烈的暴风雨,电闪雷鸣过后,他看到路边一块里程碑,被雷电劈成两半,一半上刻著30,另一半刻著25。这时,卡普利加的脑际中忽然发现了一个绝妙的数学关系——

把劈成两半的数加起来,再平方,正好是原来的数位。除此之外,还有没有别的数,也具有这样的性质呢?

熟悉速算的人很快就找到了另一个数:2025 按照第一个发现者的名字,这种怪数被命名为“卡普利加数”,又称“雷劈数”。

现在已有许多办法搜寻这种数,但最简便的办法是在9与11的倍数中寻找。例如上面提到的55,它是11的倍数,45是9的倍数。用这种办法,人们果然找到了一个极其有趣的7777,不难验算:6048+1729=7777

前苏联的一个小朋友卡嘉也发现了一个新的“雷劈数”,它是9801。98+1=99,从以上提到的4个“雷劈数”,我们不难发现同一情况:偶数+奇数=奇数,奇数的平方=奇数。3025,2025,9801和60481729都是奇数。那麽,有没有偶数雷劈数存在呢?

答案是肯定的。7年以前,泸州师范附小的一位同学,就发现了偶数“雷劈数”:100,因为10+0=10,,经过验证,100是最小的偶数雷劈数,也有可能它是唯一的偶数雷劈数。这位同学还发现了最小的奇数雷劈数:81,因为,8+1=9,可以推测:在数学王国裏,数值最小的雷劈数只有1个,数值较大的雷劈数会有无数个存在,其中的奥秘还有待人们去不断探索。

雷 劈 数 及 其 规 律

据说数学家卡普利加发现了一种具有特殊性质的数,被叫作“卡普利加数”或“ 雷劈数。它们是这样的数:如果在某一个位置上把它截成两个整数,这两个数的和的平方仍然等于这个数。设截断的位置在右起第n和第n+1位之间,截成的两个数为a与b,即 该雷劈数等于……………… (1)

第一个雷劈数是卡普利加在暴风雨中看到的、被雷电劈成两半的里程碑上的数字3025 ,它被截成30,25两个数,其和30+25=55的。这就是"雷劈数"的来历。

此后就有人热衷于寻找新的雷劈数。据说前苏联的一位小朋友找到一个劈成98和 01的雷劈数:9801。在已知的一些雷劈数中,它们被劈成的两数之和都是 9或11的倍数,或者其和减 1是 9的倍数,人们就是按这些经验去寻找新雷劈数。中国小学生刘益找到了最小的奇数雷劈数81与偶数雷劈数100。

雷劈数在自然数中的分布十分稀少,它们在大数中密度更小。因为它们的密度是按指数规律减少的。设<N 的雷劈数个数为 n 个,则有 log(n)/log(N)<0.175,见下表:

log(N) 2 3 4 5 6 7 8 9 10 11 12 13 14

n 1 2 5 7 9 11 18 21 26 32 57 59 65

log(n)/log(N) .000 .100 .175 .169 .159 .149 .157 .147 .141 .137 .146 .136 .129

这个雷劈数密度规律是由14位自然数内的全部雷劈数表实际统计而得,而长度在14位 以内全部共66个的雷劈数表是我们用计算机找出来的。从这张已知的雷劈数表可见,雷劈 数可以是奇数,也可以是偶数,但总是成对出现的,即对于一个相同的 b值,总有两个a1 、a2组成成对的雷劈数 a1*10^n+b 和 a2*10^n+b 。因为这个缘故,这张表中的雷 劈数没有完全按大小次序来排列。注意:对于任意的 n,2n位的数10^n*(10^n-2)+1 和 2n+1位的数10^2n 可叫作平凡雷劈数,但不成为一对,而是分别与 1和 0成对,即 b=1 时有 a1=1 ,a2= 10^n-2构成一对;对于 b=0,有a1=0,a2=10^n 构成一对。

由于雷劈数太稀少,又象素数那样没有确定的分布规律,要用人工发现一个雷劈数是 很困难的,特别是大的雷劈数,即使用计算机去逐个去查找,也要很多时间。因为一个 n 位数可以在 n-1个不同的位置劈开,所以要试验n次才能确定它是不是雷劈数。这样,要找 出所有长 n 位的雷劈数,就要试验(n-1)*(10^(n+1)-10^n)=(n- 1)*9*10^n =1.289*10^16次,若用速度为 80兆的 486微机来计算,每秒可试验 30000次左右,也要 13614年。所以必须分析雷劈数的性质,从中找出并利用其规律。

由式(1)可知,当 b 已知时,该雷劈数的 a 值可以从下列方程式解出来:

a^2 + (2b-10^n)*a + (b^2- b) = 0 …………………………… (2)

这是关于变数 a 的 2次方程式,它有两个根 a1、a2,这就是为什麼雷劈数总是成对 的缘故。但要使(2)的根a1、a2是有效的自然数,必须使其判别式等于平方数:

(2b-10^n)^2-4*1*(b^2-b)= 10^(2n)-4b*(10^n-1)= c^2 …… (3)

由此式解出 b:

b = (10^n-c)*(10^n+c)/ 4 /(10^n-1) ………………………… (4)

只要找出一个能使 (4)式的 b是整数的整数 c,并求出(3)式的两个根a1,a2

-(2b-10^n)±c 10^n ± c

a1,a2 = ———————— = —————— - b ………………………… (5)

2 2

即找到了一对雷劈数a1*10^n+b,a2*10^n+b。现在代替从 1检查到 10^14找到全部 雷劈数,只要从 1检查到10^7,找使 □式的 b是整数的 c 值,微机只要38分钟就完成了。

由□式我们可得每对雷劈数的和之积:(a1+b)*(a2+b)=(10^2n- c^2) / 4

再把□式的 c^2 = 10^2n-4*b*(10^n-1)代入可得:

(a1+b)*(a2+b)= 2b*(10^n - 1)

因为 10^n-1 是 9 的倍数,即每对雷劈数中,至少有一个是 9的倍数。当 n是偶数

时,10^n-1 还是11的倍数,即两对雷劈数中,至少有一个的是11的倍数。这就是前面提 到的找雷劈数的经验方法所依据的规律。 这个规律也可以由所列的雷劈数表来进行验证:

在这66个雷劈数中,其和可同时被 9和11整除的占15%,能被 9整除的占52%,能被11整 除的占32%。但是还有32%既不能被 9整除也不能被11整除。

以上这种雷劈数是在某个位置劈成两个数再相加,其和的平方仍等于这个数。如果不是相加,而是相减又会是怎麼样的呢?也就是说,劈成两个数后,它们的差的平方等于该自然数的数也应该有吧?编个程序找了一下,果然是有的,姑且把它叫作减雷劈数。减雷劈数比原来的雷劈数少一半,它们也是成对的出现的。现在把14位数以内的28个减雷劈数也录于后面,供大家验证。

附录1:14 位以内的雷劈数表

8 1, 10 0│ 494 1729│ 250500 250000│ 101558 217124│ 923594 037444

20 25│ 6048 1729│ 217930 248900│ 464194 217124│ 28 005264

30 25│ 9998 0001│ 284270 248900│ 43470 165025│ 989444 005264

98 01│ 10000 0000│ 213018 248521│ 626480 165025│ 999998 000001

100 00│ 4938 17284│ 289940 248521│ 35010 152100│ 1000000 000000

88 209│ 60494 17284│ 152344 237969│ 660790 152100│ 2428460 2499481

494 209│ 3008 14336│ 371718 237969│ 33058 148761│ 2572578 2499481

998 001│ 68320 14336│ 127194 229449│ 669420 148761│ 1975308 2469136

1000 000│ 238 04641│ 413908 229449│ 21948 126201│ 3086420 2469136

2450 2500│ 90480 04641│ 123448 227904│ 725650 126201│ 39390 0588225

2550 2500│ 99998 00001│ 420744 227904│ 20408 122449│ 8784160 0588225

744 1984│ 10000 000000│ 108878 221089│ 734694 122449│ 9999998 0000001

5288 1984│ 249500 250000│ 448944 221089│ 1518 037444│ 10000000 0000000

附录2: 14 位以内的减雷劈数表

10 0│ 6 084│ 10000 0000│ 3306 21489│ 10000000 0000000

12 1│ 1162 084│ 10002 0001│ 139672 21489│ 10000002 0000001

100 00│ 82 369│ 120 1216│ 1000000 000000│ 743802 3471076

102 01│ 1656 369│ 12312 1216│ 1000002 000001│ 16198350 3471076

1000 000│ 132 496│ 100000 00000│ 113322 449956│

1002 001│ 1860 496│ 100002 00001│ 1786590 449956│

◆◆

评论读取中....

请登录后再发表评论!

◆◆

修改失败,请稍后尝试

寻找雷劈数c语言,求雷劈数的来历。相关推荐

  1. c语言200-500完数,C语言求完数(完全数)(详解版)

    问题描述 求某一范围内完数的个数. 如果一个数等于它的因子之和,则称该数为"完数"(或"完全数").例如,6的因子为1.2.3,而 6=1+2+3,因此6是&q ...

  2. (篇六)C语言求自首数、完数、亲密数

    文章目录 一.求自首数 二.求完数 三.求亲密数 本篇主要介绍C语言中求自首数.完数和自然常数e的求解算法 一.求自首数 1.自首数: 自守数是指一个数的平方的尾数等于该数自身的自然数. 自首数是按位 ...

  3. C语言 | 求奇偶数个数

    例96:C语言编程求奇偶数的个数. 解题思路:奇数是指指不能被2整除的整数:偶数是能够被2所整除的整数. C语言源代码演示: #include<stdio.h>//头文件 int main ...

  4. 200 300的完数 c语言,C语言求完数(完全数)(详解版)

    问题描述 求某一范围内完数的个数. 如果一个数等于它的因子之和,则称该数为"完数"(或"完全数").例如,6的因子为1.2.3,而 6=1+2+3,因此6是&q ...

  5. 用c语言求五位回文数,C语言求回文数(详解版)

    问题描述 打印所有不超过n(取n<256)的其平方具有对称性质的数(也称回文数). 问题分析 对于要判定的数n计算出其平方后(存于a),按照"回文数"的定义要将最高位与最低位 ...

  6. c语言编写函数求回文数,C语言求回文数(详解版)

    问题描述 打印所有不超过n(取n<256)的其平方具有对称性质的数(也称回文数). 问题分析 对于要判定的数n计算出其平方后(存于a),按照"回文数"的定义要将最高位与最低位 ...

  7. C语言求完数案例教程

    我们先看什么是完数: 一个数除了它本身以外的所有因数和等于它本身,那么这个数就是完数. 6是一个完数,它的因数为1,2,3,6,把6去掉,其余因数和等于6. 案例代码如下 #include <s ...

  8. 10000内的回文数c语言,回文数

    "回文"是指正读反读都能读通的句子,它是古今中外都有的一种修辞方式和文字游戏,如"我为人人,人人为我"等.在数学中也有这样一类数字有这样的特征,成为回文数(pa ...

  9. 基础练习 回形取数 C语言 回形取数就是沿矩阵的边取数,若当前方向上无数可取或已经取过,则左转90度。一开始位于矩阵左上角,方向向下。

    问题描述 回形取数就是沿矩阵的边取数,若当前方向上无数可取或已经取过,则左转90度.一开始位于矩阵左上角,方向向下. 输入格式 输入第一行是两个不超过200的正整数m, n,表示矩阵的行和列.接下来m ...

最新文章

  1. WinAPI: waveInGetNumDevs - 获取波形输入设备的数目
  2. java 短链跳转原理_给你代码:短链接生成原理
  3. 通过配置文件避免硬编码的一个例子
  4. 和大家谈谈数学模型之美
  5. 硬盘安装Windows7--笔记
  6. 如何在VB中使用正则表达式
  7. 网络管理与维护作业7
  8. char* 和char[]的差别
  9. Github开源人体姿态识别项目OpenPose中文文档
  10. 软件工程师的职业道德与修养
  11. 计算机出现蓝屏怎么解决,教你电脑出现蓝屏是怎么回事
  12. 【python】算术运算报错can‘t multiply sequence by non-int of type ‘float‘
  13. Python批量采集某网站高清壁纸,这下不用担心没壁纸换了
  14. OpenCV对矩阵进行padding操作
  15. LoadRunner 11(LR11) 下载链接及破解方法
  16. w7怎么修改计算机用户名,教您电脑用户名怎么修改
  17. GitChat · 架构 | 如何从零开始搭建高性能直播平台?
  18. Codeforces Round #802 (Div. 2)
  19. ERP管理系统有哪些功能?能否支持跨区域使用?
  20. 2020年有寓意的领证日期_2020领证吉日,这些特殊寓意的好日子不能错过

热门文章

  1. 多线程、Redis、rabbitmq面试题
  2. MySQL中可视化新建表
  3. 2021-09-24 网安实验-音频隐写-Stegano之隐写1
  4. 关于5G网络安全问题的分析与展望(一)
  5. 大连四六级英语培训百家外语英语四六级和雅思考试难度差多少?
  6. kubernetes(k8s)集群安装calico
  7. 老牌网站skinsdog 狗网官网可直接取回CSGO饰品开箱网站
  8. 华为软开云5--玩转代码检查
  9. java怎么做qq的聊天气泡_【HTML5】实现QQ聊天气泡效果
  10. untiy 实时人像抠图