[算法]猫扑素数的算法实现
猫扑素数的定义
所谓猫扑数:
指以2开头,后面跟任意个3的十进制数。如:2、23、233等。
素数是指:
在大于1的自然数中,除了1和它本身以外不再有其他因数,这样的数称为素(质)数。
因此,猫扑素数即上述两种概念的交集,即该集合中的数字既是猫扑数,也是素数。
猫扑素数的实现
// 判断i是否是猫扑数
private boolean isMopNumber (int i ){if (i < 10 ) return i == 2;else return (i % 10 == 3 ) && isMopNumber (i / 10 );// 很巧妙的算法,根据猫扑数特点:最开头是2,后面是任意个3,利用递归进行判断
}// 判断i是否为素数
private boolean isPrime(int i){if(i < 2) return false;else {for(int j = 2; j < Math.sqrt(i); j++){// sqrt求i的平方根if(i % j == 0){return false;}}return true;}
}// 测试函数,列出1~1000之间的猫扑素数
private void test(){for(int i = 0; i <= 1000; i++){if(isMopNumber(i) && isPrime(i)) Log.d(TAG, i + " is mopNumber and primeNumber!");}
}
以上就是猫扑素数的求解过程了,主要是对概念的认识,其次判断猫扑数的算法也值得思考。
[算法]猫扑素数的算法实现相关推荐
- 算法--猫扑素数--java版
算法–猫扑素数–java版 简介 猫扑素数: 形如以 2 开头, 之后跟任意多个 3 的十进制整数如果是个素数, 则它是猫扑素数. 如 2, 23, 233, 2333, 23333 都是猫扑素数, ...
- BZOJ 4802: 欧拉函数(大数因数分解算法 Pollard_rho 和素数测试算法 Miller_Rabin)
Description 已知N,求phi(N) Input 正整数N.N<=10^18 Output 输出phi(N) Sample Input 8 Sample Output 4 Soluti ...
- 经典加密算法的实现与破解大素数生成算法
0x00 信息系统安全实验报告 实验(一):经典加密算法的实现与破解 1. 实现凯撒加密.暴力破解凯撒加密 2. 选取k值,编译凯撒加密算法 3. 编写算法尝试暴力破解凯撒加密 实验(二):大素数生成 ...
- 实验三:实现一个大素数生成算法
一.实验内容 掌进一步掌握大素数分解的一般原理和实现方法.能用间接方法实现大素数分解.用代码实现Solovay-Strassen素性测试法或Miller-Rabin素性测试法. 二.分实现一个大素数生 ...
- 素数推断算法(高效率)
chuanbindeng 的 素数推断算法 关于素数的算法是信息学竞赛和程序设计竞赛中常考的数论知识,在这里我跟大家讲一下寻找一定范围内素数的几个算法.看了以后相信 对大家一定有帮助. 正如大家都知道 ...
- 计算1至1000间的合数c语言,输出1000以内的素数的算法(实例代码)
输出1000以内的素数的算法(实例代码) 代码如下所示: 复制代码 代码如下: #include "stdafx.h" #include #include bool IsSushu ...
- 记一次使用快速幂与Miller-Rabin的大素数生成算法
大家都知道RSA的加密的安全性就是能够找到一个合适的大素数,而现在判断大素数的办法有许多,比如Fermat素性测试或者Miller-Rabin素性测试,而这里我用了Miller-Rabin素性测试的算 ...
- C++实现伪大素数生成算法(费马小定理判别法、米勒拉宾素数判定法)
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一.伪大素数生成原理 方法一 方法二 数学基础 二.费马小定理判别法 1.算法 2.代码实现 3.运行结果 二.米勒拉宾素数 ...
- ECPP——利用有限域上的椭圆曲线,精确判定素数的算法
要说明的是,现在这篇东西是研究用椭圆曲线精确判定一个正整数是否为素数,而不是研究用椭圆曲线加解密的! 当然,后面提供的一些关于有限域上的椭圆曲线上的点的加法,乘法,除法的实装函数都是可以直接用于加解密 ...
最新文章
- 对sigma pix 的理解
- leetcode算法题--连续的子数组的和
- VS2010/MFC编程入门之三十(常用控件:树形控件Tree Control 上)
- ocv特性_实际使用工况的锂离子电池SOC-OCV关系
- Strange Memory Gym - 102832F
- (软件工程复习核心重点)第十二章软件项目管理-第二节:进度计划
- html 图片切换渐变效果图,CSS3 用CLIP来做图片切换的渐变效果
- c/c++教程 - 1.3 关键字、标识符命名规则
- HoloLens 2开发:关闭性能分析窗口
- CocoStudio创建动画帧
- 区块链 以太坊 solidity 什么时候使用storage、memory
- Windows Server 2012 之部署Windows Server 更新服务(1)
- 查看浏览器保存的密码
- 二重积分计算(几何法)
- eth的geth钱包安装
- 磁盘清理软件:BlueHarvest for Mac
- 用matlab解决多重共线性问题,多重共线性和非线性回归的问题
- windows计划任务定时任务
- matlab 将图片转为视频
- Openbravo架构分析