特殊整数
文章平均质量分 71
double_main
代码如人生
展开
-
最大公约数与最小公倍数
涉及两个正整数1.说明: 试求已知两个正整数a,b的最大公约数与最小公倍数; 为方便表述,记:(a,b)为正整数a,b的最大公约数,{a,b}为正整数a,b的最小公倍数; 为简化设计,可以应用a,b的最大公约数与最小公倍数的以下性质: (a,b) * {a,b}=a * b2.程序设计:(1)、应用欧几里德算法设计; 求两个整数最大公约数的殴几里德算法由古希腊数学家殴几里德发明,也叫辗转相原创 2016-12-10 20:08:51 · 433 阅读 · 0 评论 -
素数搜索
伽利略:“ 素数是上帝用来描写宇宙的文字 。”素数,又称为质数,是不能被1与其本身以外的其他整数整除的整数。如2、3、5、7、11、13、17是前几个素数,其中 2为唯一的偶素数;与此相对应,一个整数如果能被除1与其本身以外的整数整除,该整数称为合数或复合数。例如,15能被除1与15以外的整数3、5整除,15是一个合数;特别地,数 1既不是素数,也不是合数;作为一类特殊的整数,素数是数论中探讨最多原创 2016-12-19 21:40:34 · 476 阅读 · 0 评论 -
合数世纪
定义一个世纪的100个年号中不存在一个素数,即100个年号全为合数的世纪成为合数世纪;试探究第n个合数世纪;1.说明:应用枚举搜索,设置a世纪的50个奇数年号(偶数年号无疑均为合数)为b,用k试商判别b是否为素数,用变量s统计这50个奇数中的合数的个数;对于a世纪,若s=50,即50个奇数都为合数,找到a世纪为最早的合数世纪,打印输出后退出循环结束;2.程序设计:#include<stdio.h>原创 2016-12-25 18:22:14 · 4150 阅读 · 1 评论 -
连续合数探求
本节探讨连续合数问题,实际上还是与素数密切相关;最多连续合数区间中不能存在素数,最小连续n个合数中也不能存在素数;最多连续合数区间试在指定区间 [c,d] 内探求最多连续合数的个数及最多连续合数的起始与终止数;例如输入c,d:10,100,在区间[10,100]内最多连续合数的个数为7个,所求得的连续合数区间为:[90,96];下面应用试商法与筛法两种设计分别求解;应用试商设计:1.说明:对指定区间原创 2016-12-25 14:02:12 · 3362 阅读 · 0 评论 -
素数对
本节探讨由两个满足某些特定条件的素数组成的素数对,包括经典的 孪生素数对 与 逆序素数对 ;孪生素数对相差为2的两个素数称为孪生素数对,简称孪生素数;例如,3和5是一对孪生素数,41和43也是一对孪生素数;试求出指定区间上的所有孪生素数对;方案一 之 常规求解:1.说明:设置两个变量:当前素数变量i与相邻的前一个素数变量f,在求出当前素数i后,求i与它相邻的前一个素数f的差,如果i-f=2,则f和i原创 2016-12-24 22:05:35 · 2463 阅读 · 0 评论 -
逐位整除数
逐位整除数是一类新颖有趣的整数;定义n位逐位整除数:从高位开始,高1位能被1整除(显然),高2位能被2整除,……,以此类推,整个n位数能被n整除;例如1024569就是一个7位逐位整除数,因为1024569能被7整除,高6位即102456能被6整除,高5位即10245能被5整除,……;对指定的正整数n,搜索共有多少个不同的n位逐位整除数?存在n位逐位整除数的整数n是否有最大值? 试探索指定的n位逐原创 2016-12-18 20:03:47 · 6484 阅读 · 3 评论 -
守形数
若正整数n是它平方数的尾部,则称n为守形数,又称同构数例如,6是其平方数36的尾部,76是其平方数5776的尾部,6与76都是守形数;探讨搜索指定区间内的守形数,进而搜索指定n位守形数;区间守形数试探求指定区间 [x,y] 内的所有守形数;1.说明:对指定区间 [x,y] 内的每一个整数a(约定a>1),求出其平方数s; 计算a的位数w,同时计算 b=10^w,a的平方s的尾部 c=s%b; 比原创 2016-12-18 09:33:30 · 4287 阅读 · 0 评论 -
水仙花数与兰德尔数
兰德尔数(Randle)数又称 自方幂数 ,是一类涉及自身特点的一类整数;最简单的兰德尔数:三位称水仙花数,四位称玫瑰花数,五位称五角星数,六位称六合数 等……从搜索水仙花数开始,进而探索一般n位兰德尔数;水仙花数一个三位数如果等于它的三个数字的立方和,该三位数称为水仙花数;探求所有的水仙花数;1.说明:在处理整数的程序运行中,常用 组合 与 分解 这两种基本方式来设计求解;2.程序设计:基于原创 2016-12-17 22:14:47 · 1380 阅读 · 0 评论 -
超级素数
定义m(m>1)位超级素数:m位超级素数本身为素数;从高位开始,去掉1位后为m-1位素数、去掉2位后为m-2位素数、…… 、去掉m-1位后为1位素数;例如137是一个3位数的超级素数,因为137是一个3位素数、去掉高1位后得37是一个2位素数、去掉高2位得7是一个1位素数,而素数107不是超级素数,因为去掉高1位得7不是一个2位素数;输入整数m(1< m<=10),统计m位超级素数的个数,并输原创 2016-12-23 09:37:21 · 8421 阅读 · 2 评论 -
对称素数
对称素数:一个整数m的逆序数就是m本身,则称m为对称数,一个整数m如果是对称数又是素数,则称m为对称素数;例如101,131,929等都是3位对称素数,表现为左右对称;试统计指定n(1< n <10)位对称素数的个数,并输出其中最大的对称素数;1.说明:对于每一个n位奇数m通过以下两道检测:应用试商判别法检测是否为素数,如果不是素数,则返回;分离m的n个数字存储与数组h[j](j=1~n),若原创 2016-12-21 16:12:34 · 3950 阅读 · 0 评论 -
完全数
如果一个数恰好等于它的因子(真因数)之和,则称该数为”完全数”;各个小于它的约数(真约数,列出某数的约数,去掉该数本身,剩下的就是它的真约数)的和等于它本身的自然数叫做完全数(Perfect number),又称完美数或完备数;例如6的小于6的正因数为1、2、3,而6是一个完全数; 试求出指定区间 [x,y] 内的完全数;1.说明:对指定区间中的每一个整数a实施枚举判别,根据完全数的定义,为了判别原创 2016-12-15 09:50:17 · 1454 阅读 · 0 评论 -
勾股数
勾股数是最早引起人们兴趣的数学现象,在很久远的年代各名族都研究过勾股数。埃及最早发现3、4、5是一组勾股数。公元前巴比伦人就知道119、120、169是一个直角三角形的三边长。我国在早期的《周髀算经》中就谈到“勾广三,股修四,弦隅五”,指边长为3、4、5的直角三角形。古代数学家刘徽在《九章算术》中有: 3²+4²=5² ; 5²+12²=13² ; 7²+24²=25² ; 8²+15²=17²原创 2016-12-13 19:25:43 · 3020 阅读 · 0 评论 -
长方体数
如果长方体的棱长x、y、z和体对角线长w都是正整数,就把它们叫做一组长方体数; 显然,长方体数是勾股数的推广;试求指定区间 [a,b] (1<=a< b<10000)内的长方体数组(x,y,z,w)探求长方体数1.说明: 所求长方体数组 [a,b] 内的正整数x、y、z、w满足:x²+y²+z²=w²其中a<=x<=y<=z<=w<=b,这是一个涉及4个变量x、y、z、w的二次不定方程; 为原创 2016-12-14 11:05:47 · 727 阅读 · 0 评论 -
p-完全数
设正整数a的小于其本身的真因数之和为s,定义 p(a)=s/a 为整数a的因数比;事实上,完全数是因数比为1的整数。例如 p(6)=1 ,6为完全数;若整数的因数比为某一大于1的整数p,则称该整数为p-完全数。例如p(120)=2,则120为 2-完全数;试搜索指定区间 [x,y] 中的完全数与 p-完全数。若区间中没有完全数与 p-完全数,探求区间中哪一个整数的因数比最接近某一正整数;1.说明:为原创 2016-12-16 09:34:09 · 715 阅读 · 0 评论 -
巧妙平方数
称 不含重复数字的完全平方数 为巧妙平方数。试在 1,2,…,9 这9个数字中选出m个,组成巧妙平方数。1.说明: 计算最小的m位数10^(m-1)开平方取整数t1,最大的m位数(10^m)-1开平方取整数t2,以t1+1和t2作为循环的初值与终值设置y循环; 检验m位平方数 f=y*y,经m次求余分离 f 的每一位数字k,若k=0,即 f 含数字0,返回;设置b数组,应用b(k)统计数字k的个原创 2016-12-12 10:03:32 · 637 阅读 · 0 评论 -
卡普雷卡数
传说数学家 卡普雷卡 (Kaprekar)偶然发现铁路旁的里程碑“3025”被雷击得一分为二:30与25.他敏锐地注意到:30+25=55,55^2=3025。 现称这样具有分段和平特性的整数为卡普雷卡数。 先探讨搜索4位卡普雷卡数的基础上引申至一般偶数位卡普雷卡数,并进一步拓广到2段和平方数。搜索4位卡普卡雷卡数 一个4位整数分为前后两个2位数,若该数等于所分两个2位数和的平方,则称该数为4位原创 2016-12-11 11:28:55 · 3285 阅读 · 1 评论 -
梅森尼数
形如 2^n-1 的素数称为 梅森尼数(Mersenne Prime)例如 2²-1=3 , 2³-1=7 都是梅森尼数;1722年,双目失明的瑞士数学大师欧拉证明了 2^31-1=2147483647 是一个素数,堪称当时世界上“已知最大素数”的一个记录;试求出指数n<50的所有梅森尼数;1.说明:设置指数n循环,输入循环上限指数n(n>2),循环体中通过累乘t=t*2得t=2^n;根据梅森尼原创 2016-12-20 10:58:53 · 7477 阅读 · 3 评论