如果一个数能够被组成它的各个非0数字整除,则称它是完美数。
例如:1-9都是完美数,10,11,12都是完美数,但是13就不是完美数
(因为13不能被组成它的数字“1”和“3”整除)。 现在给定正整数x,y,
求x和y之间(包含x和y)一共有多少个完美数。输入数据1<=x<=y<=2000000000。
例如: x = 1, y = 13,输出12; x = 13,y = 13,输出0; x = 100,y = 1000,输出106。
/**
* <一句话功能简述>
* <如果一个数能够被组成它的各个非0数字整除,则称它是完美数。
* 例如:1-9都是完美数,10,11,12都是完美数,但是13就不是完美数
* (因为13不能被组成它的数字“1”和“3”整除)。 现在给定正整数x,y,
* 求x和y之间(包含x和y)一共有多少个完美数。输入数据1<=x<=y<=2000000000。
* 例如: x = 1, y = 13,输出12; x = 13,y = 13,输出0; x = 100,y = 1000,输出106。 >
* @author zyy
* @version [版本号, 2014-1-16]
* @see [相关类/方法]
* @since [产品/模块版本]
*/
public class Test
{
//start 提示:自动阅卷起始唯一标识,请勿删除或增加。
public static void main(String args[])
{
System.out.println(calculate(100, 1000));
}
//end //提示:自动阅卷结束唯一标识,请勿删除或增加。
/**
* 算法
*/
public static int calculate(int x, int y)
{
// 最终是完美数的个数
int count = 0;
// 输入的数字
int[] num = new int[y - x + 1];
// 数组下标
int index = 0;
// 存入数组
for(int i = x; i <= y; i++)
{
num[index] = i;
index++;
}
// 当前计算的数字的长度
int currLength = 0;
// 当前计算的数字的每一个数字
int currIndexNumber = 0;
// 遍历每个数字,判断是否为完美数
for(int j : num)
{
String currNumber = Integer.valueOf(j).toString();
currLength = currNumber.length();
boolean flag = true;
for(int i = 0; i < currLength; i++)
{
// 取每一个数字
currIndexNumber = Integer.parseInt(currNumber.substring(i, i + 1));
// 判断是否整除,如果不能被整除,设置为false
if (currIndexNumber != 0 && Integer.parseInt(currNumber) % currIndexNumber != 0)
{
flag = false;
break;
}
}
if (flag)
{
count++;
}
}
return count;
}
}
分享到:
相关推荐
c/c++实现完美数详解
找出1~9999之间的所有完美数 完美数是除自身外其他所有因子的和正好等于这个数本身的数 例如 6 = 1 + 2 + 3, 28 = 1 + 2 + 4 + 7 + 14
### C经典算法之完美数 #### 知识点解析 **完美数定义:** 完美数是一种特殊的自然数,指的是一个正整数等于其除自身以外的所有正因子(真因数)之和。例如: - 6 的真因数为 1、2、3,而这些因数的和正好等于 6。...
完美数是一种特殊的自然数,它的所有真因数(除了它本身之外的因数)之和恰好等于这个数本身。在小学数学中,学习完美数可以帮助孩子们理解因数、真因数以及数的性质,同时也增加了数学学习的乐趣。下面将详细探讨...
计算完美数的程序 适用于 Linux 欢迎有才之士移植至 Windows
这是最大的完美数,利用公式(2ⁿ ⁻¹)×(2ⁿ-1)求得,其中的n是素数,并且2ⁿ-1是一个梅森素数
"完美数"是算法学习中的一个经典主题,它涉及到数学和计算机科学的交叉点。本篇文章将深入探讨完美数的定义、算法实现以及分析。 **完美数的定义** 完美数是指其所有真因数(除了自身以外的因数)之和等于该数本身...
本压缩包文件"**c语言入门编程之数学问题完美数.zip**"显然是为了初学者设计,旨在通过解决数学问题中的“完美数”来教授C语言的基本编程技巧。 **完美数**是指一个正整数,它的所有真因数(即除了自身以外的因数)...
完美数.Py 快乐数.py - 不懂运行,下载完可以私聊问,可远程教学 该资源内项目源码是个人的毕设,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! 1、该资源内项目代码都经过测试...
一个求解完美数的高效算法,不是简单的验证。而是通过素数表来得到因式分解的结果。
Java 语言求解完美数代码分析 Java 语言求解完美数代码分析主要介绍了 Java 语言求解完美数的代码分析,具有一定参考价值,需要的朋友可以了解下。完美数是一种特殊的自然数,它所有的真因子(即除了自身以外的约数...
完美数mysql建库文档 仅供学习使用
计算完美数的Python文件
用完美数的数字之美激发学生学习C语言编程的兴趣.pdf
确定一个正整数是否是一个完美数 在数论中,完全数是一个正整数,它等于它的真正除数之和,即不包括该数本身的正除数之和。 等效地,完全数是所有正除数之和的一半的数。 不知道是否存在奇完全数,也不知道是否存在...
前端学习笔记,做一个简单的网站-完美数
完数,又称完美数,是指那些所有真因数(即除了自身以外的因数)之和等于其本身的正整数。例如,6是一个完数,因为它的真因数为1、2、3,而这些因数的和正好等于6。 ### 完数判断算法解析 在给定的代码片段中,...
给定一个 整数 n, 如果是完美数,返回 true,否则返回 false示例 1:输入:28解释:28 = 1 + 2 + 4 + 7 + 141, 2, 4,
在数学领域,完美数是一种特殊的自然数,它的所有真因数(不包括它自身)的和正好等于这个数本身。这种性质使得完美数在数论中占有独特的位置。例如,6是一个完美的数,因为它的真因数有1、2和3,而1+2+3恰好等于6。...