ASKIING 2010-11-27 21:57
浏览 482
已采纳

用JAVA语言编写“求相亲数”

220的真因数之和为1+2+4+5+10+11+20+22+44+55+110=284
284的真因数之和为1+2+4+71+142=220
毕达拉哥斯把这样的数对A,B称为相亲数;A的真因数之和为B,而B的真因数之和为A,求3000位以内的相亲数
用JAVA语言编写

  • 写回答

3条回答 默认 最新

  • haha662 2010-11-28 13:03
    关注

    [quote]Exception in thread "main" java.lang.ArithmeticException: / by zero [/quote]
    这是0除数错误,呵呵,写得心急,没注意。

    [code="java"]
    public class Test2 {

    /**
     * @param args
     */
    public static void main(String[] args) {
    
          for(int i=1 ;i<3000;i++){
              IsMarrayNum(i); 
          }
    }
    
    public static void IsMarrayNum(int num){
          int sum=0;
        for(int i =1;i<num;i++){
           if(num%i==0)
              sum+=i;
        }
          int sum2=0;
        for(int j=1;j<sum;j++){
           if(sum%j==0)
             sum2+=j;
        }
          if(sum2==num){
            //是相亲数那就用一个对象存起来
              System.out.println("相亲数对:"+num+", "+sum);
          }
    
        } 
    

    }
    [/code]

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥20 usb设备兼容性问题
  • ¥15 错误(10048): “调用exui内部功能”库命令的参数“参数4”不能接受空数据。怎么解决啊
  • ¥15 安装svn网络有问题怎么办
  • ¥15 Python爬取指定微博话题下的内容,保存为txt
  • ¥15 vue2登录调用后端接口如何实现
  • ¥65 永磁型步进电机PID算法
  • ¥15 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?
  • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
  • ¥15 如何处理复杂数据表格的除法运算
  • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)