当前位置: 代码迷 >> Java相关 >> [求助]两个程序,弄了一个下午都弄不出
  详细解决方案

[求助]两个程序,弄了一个下午都弄不出

热度:172   发布时间:2006-03-10 19:12:00.0
[求助]两个程序,弄了一个下午都弄不出
1:求1~1000中的亲密数对。
2:返回1~100间所有非质数的质因子。(例如:50=2*5*5)。
搜索更多相关的解决方案: 质数  亲密  

----------------解决方案--------------------------------------------------------

题目很好,但就是不好做,


----------------解决方案--------------------------------------------------------
第一题的解法:
程序代码:

/**
*求出1000以内所有亲密数的算法
*亲密数的定义:如果a的因子和等于b,b的因子和等于a,且a!=b,则称a,b互为亲密数
*注意,其中的因子包含1但不包含本身
*@author :[url=http://eastsun.javaeye.com] Eastsun[/url]
*/
public class FriendNumber{
public static int sumOfFactor(int n){
int sum =0;
for(int i =1;i<n;i++) if(n%i==0) sum +=i;
return sum;
}
public static void main(String[] args){
for(int n =1;n<=1000;n++){
int sum =sumOfFactor(n);
if(n !=sum &&n ==sumOfFactor(sum)) System.out.println(\"亲密数 :\"+n+\",\"+sum);
}
}
}

----------------解决方案--------------------------------------------------------

第二题的解法:

程序代码:

/**
*因数分解算法
*@author :[url=http://eastsun.javaeye.com]Eastsun[/url]
*/
import java.util.*;
public class Factor{
public static List<Integer> factor(int n){
List<Integer> list =new LinkedList<Integer>();
if(n<=1) return list;
int m =2;
while(n!=1)
if(n%m==0){
n /=m;
list.add(m);
}
else m++;
return list;
}
public static void main(String[] args){
for(int n=1;n<=100;n++){
List<Integer> list =factor(n);
if(list.size()<=1) continue;
Iterator<Integer> iter =list.iterator();
System.out.print(\"\n\" +n +\" =\"+iter.next());
while(iter.hasNext()) System.out.print(\"*\"+iter.next());
}
}
}

[此贴子已经被作者于2007-4-8 13:21:58编辑过]


----------------解决方案--------------------------------------------------------

不错,感谢楼主.


----------------解决方案--------------------------------------------------------

List<Integer>
红色部分不是很懂可以解释一下吗??谢!


----------------解决方案--------------------------------------------------------
泛型
你用的JDK太老了可能是
最好还是用JDK1.5或者JDK1.6
不要去用一些旧的JDK
----------------解决方案--------------------------------------------------------

好题目啊 !可惜还是有些不懂啊!


----------------解决方案--------------------------------------------------------
  相关解决方案