• 4正整数分解质因数


    package com.test;

    import java.util.Scanner;

    import org.apache.poi.hssf.record.formula.functions.Int;

    import antlr.debug.NewLineEvent;

    public class test444 {

    /**
    * @param args
    * 【程序4】 题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。

    程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:

    (1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。

    (2)如果n <> k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你,重复执行第一步。

    (3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。

    注:每个合数都可以写成几个质数相乘的形式。其中每个质数都是这个合数的因数,叫做这个合数的分解质因数。 分解质因数只针对合数。
    */
    public static void main(String[] args) {
    // TODO Auto-generated method stub

    /*
    0 1 2 3 4 5 6 7 8 9 10
    0 1 2 3 4=2*2 5 6=2*3 7 8=2*2*2 9=3*3 10=2*5


    */
    FenJieZhiYinShu(6);
    /*
    System.out.println("输入所求正整数:");
    Scanner sc = new Scanner(System.in);
    Long n = sc.nextLong();
    long m=n;//m 才是要分解的合数;n只是中间用的一个数而已;
    int flag = 0;
    String[] str = new String[50];
    for (long i = 2; i <= n; i++) {//2,3,4...轮回 去 求模 取余,为零,整除(234...)的时候,表示 算一个质因数;
    if (n % i == 0) {
    str[flag] = Long.toString(i);
    flag++;//然后放在字符串数字里一次;这里表示质因数 数组里的 数 的数量,方便后面打印的;
    n = n / i;//n第一次除完后,再用取完第一个质因数剩下的n去取质因数;
    i--;//i就是质因数,为了不让她i++跳过去,就减了1;;;;直到i大于n,,,,,就是最后一个质因数? 我理解还有点问题= =,大家可以评论下...
    }
    }
    if (flag < 2)
    System.out.println(m + "为质数");
    else {
    System.out.print(m + "=" + str[0]);
    for (int k = 1; k < flag; k++) {
    System.out.print("*" + str[k]);
    }
    System.out.println("\n"+m+"共有"+flag+"个质因数.");
    }
    sc.close();
    */
    }

    public static void FenJieZhiYinShu(int x){
    int a,b,c;
    a=b=c=0;
    a = x;
    b = x;
    String[] e = new String[50];
    for(int i=2;i<=a;i++){
    if(a%i==0){//我记得是表示整除的... ;如果能被整除,才去里面取质因数;
    e[c]=String.valueOf(i);
    c++;
    a = a/i;
    i--;
    }
    }
    if(c<2)
    System.out.println(x +"是质数");
    else{
    System.out.print(x + "=" + e[0]);

    for(int k=1;k<c;k++){
    System.out.println("*"+e[k]);
    }
    System.out.println("\n"+x+"共有"+c+"个质因数");
    }

    }

    }

  • 相关阅读:
    Docker系列二:Docker的基本结构
    Codeforces 1013
    树形结构升级
    Codeforces 402 and 403 (Div. 2 and 1)
    Codeforces 342
    图论基础
    树形结构基础
    Codeforces 788 (Div. 1)
    NOIP/CSP-J/S初赛集锦
    树的重心
  • 原文地址:https://www.cnblogs.com/signoffrozen/p/7117403.html
Copyright © 2020-2023  润新知