| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 919 人关注过本帖
标题:[求助]两个程序,弄了一个下午都弄不出
只看楼主 加入收藏
penny_zly
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2006-3-9
收藏
 问题点数:0 回复次数:7 
[求助]两个程序,弄了一个下午都弄不出
1:求1~1000中的亲密数对。
2:返回1~100间所有非质数的质因子。(例如:50=2*5*5)。
搜索更多相关主题的帖子: 质数 亲密 
2006-03-10 19:12
子阳
Rank: 1
等 级:新手上路
帖 子:71
专家分:0
注 册:2007-3-5
收藏
得分:0 

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

2007-04-08 11:48
Eastsun
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:32
帖 子:802
专家分:0
注 册:2006-12-14
收藏
得分:0 
第一题的解法:

/**
*求出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);
}
}
}

My BlogClick Me
2007-04-08 13:18
Eastsun
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:32
帖 子:802
专家分:0
注 册:2006-12-14
收藏
得分:0 

第二题的解法:


/**
*因数分解算法
*@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编辑过]


My BlogClick Me
2007-04-08 13:20
子阳
Rank: 1
等 级:新手上路
帖 子:71
专家分:0
注 册:2007-3-5
收藏
得分:0 

不错,感谢楼主.

2007-04-08 20:08
trhuang
Rank: 1
等 级:新手上路
帖 子:126
专家分:0
注 册:2007-4-1
收藏
得分:0 

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

2007-04-10 23:10
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 
泛型
你用的JDK太老了可能是
最好还是用JDK1.5或者JDK1.6
不要去用一些旧的JDK

可惜不是你,陪我到最后
2007-04-11 09:16
w5644266
Rank: 1
等 级:新手上路
帖 子:101
专家分:0
注 册:2007-4-4
收藏
得分:0 

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

2007-04-11 23:47
快速回复:[求助]两个程序,弄了一个下午都弄不出
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020351 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved