Outlier局外人


私信TA

用户名:uq_43497619115

访问量:1304

签 名:

等  级
排  名 10176
经  验 1047
参赛次数 0
文章发表 5
年  龄 0
在职情况 学生
学  校
专  业

  自我简介:

TA的其他文章

解题思路:首先我们需要先去判断这个数到底是不是完数,如果是,我们才对其找出完全的因子,然后我们用一个字符串来记录这个数的因子,然后输出

还要记住1不是合数它就没有因子,因此下面的循环从2开始

注意事项:字符串str在每一次记录完了之后记得要清零

参考代码:public static void main(String[] args) {
   Scanner data=new Scanner(System.in);
   int N=data.nextInt();
   String str =" ";
   //这个for循环是用来寻找到完数
   for (int i=2;i<N;i++){
       str=" ";
       //这个if判断是找到完数之后,把因子给记录下来
       if (judge(i)){
           //记录因子
           for (int j=1;j<i;j++){
               if (i%j==0){
                   str +=j;
                   //这个是为了保证输出的格式
                   str +=" ";
               }
           }
           System.out.println(i+" its factors are"+str);
       }
   }
}
//用来判断是不是合数
public static boolean judge(int i){
   int sum=0;
   for (int n=1;n<i;n++){
       if (i%n==0){
           sum +=n;
       }
   }
   if (sum==i){
       return true;
   }else {
       return false;
   }
}   

 

0.0分

28 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区