一个判断完数的小例子
2016-06-28 22:31
330 查看
判断完数
完数:一个数的因子之和等于这个数本身;例如:6=1+2+3;
求1000以内有多少个完数?
分析:
1.得到某个数的所有因子
2.计算因子之和
3.判断和是否等于这个数
public class IsPerfectNumber {
public static void main(String[] args) {
Utils util=new Utils();
for(int i=1;i<1000;i++){
if(util.getArraySum(util.getNum(i))==i){
System.out.println(i+"这个数是完数");
}
}
}}
public class Utils {
//1.得到某个数的所有因子
public int[] getNum(int num) {
int time = 0;
for (int i = 1; i < num; i++) {
if (num % i == 0) {
time++;
}
}
int array[] = new int[time];
time = 0;
for (int i = 1; i < num; i++) {
if (num % i == 0) {
array[time] = i;
time++;
}
}
return array;
}
//2.计算因子之和
public int getArraySum(int array[]) {
int sum = 0;
for (int i = 0; i < array.length; i++) {
sum += array[i];
}
return sum;
}
}
完数:一个数的因子之和等于这个数本身;例如:6=1+2+3;
求1000以内有多少个完数?
分析:
1.得到某个数的所有因子
2.计算因子之和
3.判断和是否等于这个数
public class IsPerfectNumber {
public static void main(String[] args) {
Utils util=new Utils();
for(int i=1;i<1000;i++){
if(util.getArraySum(util.getNum(i))==i){
System.out.println(i+"这个数是完数");
}
}
}}
public class Utils {
//1.得到某个数的所有因子
public int[] getNum(int num) {
int time = 0;
for (int i = 1; i < num; i++) {
if (num % i == 0) {
time++;
}
}
int array[] = new int[time];
time = 0;
for (int i = 1; i < num; i++) {
if (num % i == 0) {
array[time] = i;
time++;
}
}
return array;
}
//2.计算因子之和
public int getArraySum(int array[]) {
int sum = 0;
for (int i = 0; i < array.length; i++) {
sum += array[i];
}
return sum;
}
}
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- c++11 + SDL2 + ffmpeg +OpenAL + java = Android播放器
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序
- 二叉查找树