zoukankan      html  css  js  c++  java
  • 分解质因数

      这是中移物联网的笔试题,当时做题的时候,居然把质因子是什么,素数是什么都给忘了,于是下来补了一下,平时应该多练习算法呀

    package com.personal.demo.test;
    
    import java.util.Vector;
    
    public class Resolve {
    //判断是否是素数
    public static boolean isPrime(int n){ boolean isprime=true; for (int i = 2; i <=n/2 ; i++) { if (n%i==0){ isprime=false; break; } } return isprime; } public static void resolve(int num){ //找出num/2以内的质数 Vector<Integer> vector=new Vector<>(); for (int i = 2; i <=num/2 ; i++) { if (isPrime(i)){ vector.add(i); } } System.out.print(num+"="); Vector<Integer> vector1=new Vector<>();
        //找出num能整除的数
    for (int i = 0; i <vector.size() ; i++) { if (num%vector.get(i)==0){ vector1.add(vector.get(i)); num=num/vector.get(i); i--; } } for (int i = 0; i <vector1.size() ; i++) { if (i==vector1.size()-1){ System.out.println(vector1.get(i)); }else { System.out.print(vector1.get(i) + "*"); } } } public static void main(String[] args) { resolve(120); } }

    看网上还有一种采用递归的方法,代码很是精简,但是输出格式需要自己排一下

    public static void prim(int m)
        {
            int n = 2;
            if (m > n)
            {
                while (m%n != 0)
                {
                    n++;
                }
    
                m /= n;
    
                prim(m);
                System.out.println(n);
            }
        }
  • 相关阅读:
    数据结构矩阵问题总结
    数据结构:二维ST表
    mysql--时区表问题(Windows环境下)
    mysql--基本命令
    Django2.0--创建缓存表
    git--基本命令
    阿里云主机--重置系统后的登录问题
    链表中倒数第K个结点
    从尾到头打印链表
    替换空格
  • 原文地址:https://www.cnblogs.com/yeleia/p/9675001.html
Copyright © 2011-2022 走看看