• 分解质因子及其应用孪生漂亮数及其算法


    孪生漂亮数 【循环】

    一个自然数, 若它的质因数至少是两重的(相同的质因数至少个数为二个, 如36=2*2*3*3)则称该数为"漂亮数". 若相邻两个自然数都是"漂亮数", 就称它们为"孪生漂亮数". 例如8与9就是一对. 请编程再找出一对恰好大于9的"孪生漂亮数".

    输入

     

    输出

    输出一行,两个大于9的"孪生漂亮数".之间用一个空格隔开。 (例: 28 29)

    提示

    分解质因子有关。

    思路:其实分解质因子  是 把一个数一直除以各素数 (2、3、5、7、9.....)    然后能整除的话 就证明他是质因子  且  这个数要处于这个素数  再重复此步骤 直到这个数为1为止,即有点像短除法。

    上代码!认真看注释!!!!!

    import java.util.*;
    public class Main{
        public static void main(String[] args) {
           // Scanner sc = new Scanner(System.in);
            for(int i = 10;;i++)        //10(i)以上的数 判断最近的一对孪生漂亮输且输出
            {
                if(zhiyinzi(i) && zhiyinzi(i+1))   //如果判断i 和 i+1  是漂亮数 那我就输出后跳出循环.
                {
                    System.out.println(i+" " +(i+1));
                    break;
                }
            }
        }
        public static boolean zhiyinzi(int num)     //分解质因子且有两个以上相同的返真 反之返假
        {
            int i = 2,sum = 0;    //定义i为素数   sum为计数器(如果两个因子一样返假)
            while(num != 1)         //当num 为1 时 证明他的质因子都是不一样的 返回假
            {
                if(num % i == 0)        //如果i是他的质因子
                {
                    sum++;              //那么计数器++
                    num /= i;              // num = num / i (一般为2或3或5...(素数) 为什么呢 以为2就可以代替后面的 4啊 8啊 10啊 什么的 自己理解!)
                    if(sum == 2)        //如果计数器为2  即有两个一样的质因子
                    return true;        //那就返真
                }
                else {                  //如果不能被整除 那么 计数器清零 且 素数++
                    sum = 0;
                    i++;
                }
            }
            return false;       // 如果到最后都还没两个相同的因子  那我就 退出了...
        }
    }

    本文来自博客园,作者:咸瑜,转载请注明原文链接:https://www.cnblogs.com/bi-hu/p/14092506.html

  • 相关阅读:
    Jquery简略API使用
    JS全部API笔记
    实现nginx的负载均衡和反向代理
    HashMap在Java1.7与1.8中的区别
    数据库设计三大范式
    Java集合
    Object类有哪些方法
    spring mvc出现 Failed to convert property value of type 'java.lang.String' to required type 'java.util.Date' for property 'endtime'
    int和Integer的区别
    第二次面试-科大讯飞(卒)
  • 原文地址:https://www.cnblogs.com/bi-hu/p/14092506.html
Copyright © 2020-2023  润新知