zoukankan      html  css  js  c++  java
  • 分解质因子及其应用孪生漂亮数及其算法

    孪生漂亮数 【循环】

    一个自然数, 若它的质因数至少是两重的(相同的质因数至少个数为二个, 如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

  • 相关阅读:
    php模拟数据请求
    vue指令
    vue指令问题
    属性(property)的特性(attribute)
    数据属性和访问器属性
    json数组
    js--基础(对象、数组、函数、if语句、while语句、do while语句、continue语句、break语句)
    typeof操作符--undefined与null
    js自定义格式时间输出当前时间,封装时间函数
    js 要求传入两个日期时间,返回两个日期时间之间,相差多少天多少小时多少分钟多少秒
  • 原文地址:https://www.cnblogs.com/bi-hu/p/14092506.html
Copyright © 2011-2022 走看看