17 质因数

news/2025/2/23 22:52:59

17 质因数

作者: Turbo时间限制: 1S章节: 基本练习(循环)

问题描述 :

将一个正整数N(1<N<32768)分解质因数。例如,输入90,打印出90=233*5。

输入说明 :

输入一个正整数

输出说明 :

按照范例输出。

其中的质因数的输出顺序按照从小到大的顺序。

如果输入的整数本身是质数,则输出形式为:

3=3

输入范例 :

66
输出范例 :

66=2311

import java.util.Scanner;

public class test_17 {
    /**
     * 17 质因数
     */
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int num = sc.nextInt();
        if(isPrimeNumber(num)){
            System.out.println(new StringBuilder().append(num).append("=").append(num).toString());
            return;
        }
        StringBuilder builder = new StringBuilder();
        int n=1,temp;
        boolean flag=false;
        for (int i = 2; i <=num/2 ; i++) {
            if(isPrimeNumber(i)){
                temp=num;
                while(temp%i==0){
                    temp/=i;
                    builder.append(i).append("*");
                    n*=i;
                    if(n==num){
                        flag=true;
                        break;
                    }
                }
            }
            if(flag){
                break;
            }
        }
        String s = builder.toString();
        String substring = s.substring(0, s.lastIndexOf("*"));
        System.out.println(new StringBuilder().append(num).append("=").append(substring));

    }
    public static boolean isPrimeNumber(int n){
        for (int i = 2; i <=Math.sqrt(n) ; i++) {
            if(n%i==0){
                return false;
            }
        }
        return true;
    }
}


http://www.niftyadmin.cn/n/709935.html

相关文章

IPSec ***的配置实现

IPSec 的配置实现如图所示&#xff0c;某软件开发公司在中小城市建立了分支公司&#xff0c;分支公司开发项目小组所在网络地址为 172.16.10.0/24&#xff0c;该网络的主机可以通过 访问总公司开发数据服务器&#xff08;10.10.33.0/24&#xff09;。 根据上述需求&#xff0…

任意进制之间的相互转换

进过一段时间的研究&#xff0c;现在终于明白任意进制之间是如何转换的,现在就来给你分享。 解题思路&#xff1a; 比如说将一个n进制的数转换为m进制的数&#xff0c;这个过程需要一个过渡&#xff0c;就是现将一个n进制 的数转换为10进制&#xff0c;再将十进制数转换为m进制…

11 蜜蜂飞舞

11 蜜蜂飞舞 作者: Turbo时间限制: 1S章节: 基本练习&#xff08;循环&#xff09; 问题描述 : “两只小蜜蜂呀&#xff0c;飞在花丛中呀……” 话说这天天上飞舞着两只蜜蜂&#xff0c;它们在跳一种奇怪的舞蹈。用一个空间直角坐标系来描述这个世界&#xff0c;那么这两只…

中工校赛总结

这次参加中工的校赛&#xff0c;最大的感觉就是特别倒霉&#xff0c;在热身赛上&#xff0c;比赛已经开始了我的账号一直登不上&#xff0c;当时就非常气氛&#xff0c; 然而这个教室值日的人当时没看见&#xff0c;过了好久巡查的人过来了&#xff0c;然后我才问他我的账号为啥…

12 学做菜

12 学做菜 作者: Turbo时间限制: 1S章节: 基本练习&#xff08;循环&#xff09; 问题描述 : 涛涛立志要做新好青年&#xff0c;他最近在学做菜。由于技术还很生疏&#xff0c;他只会用鸡蛋&#xff0c;西红柿&#xff0c;鸡丁&#xff0c;辣酱这四种原料来做菜&#xff0c;…

用顺序结构实现对二叉树的三种遍历方式

#include<stdio.h> int a[20],n; //创建二叉树 void creat(int b) {int i;for(i1;i<b;i)a[i]i; } //先序遍历 void xianxu(int a) {if(a<n){printf("%d ",a);//三种遍历都是采用的递归的思想。xianxu(2*a);//当根节点输出之后&#xff0c;就找出根节点所…

如何判断Oracle DB是归档还是非归档模式,如何切换

查看oracle日志模式&#xff1a;archive log list修改oracle日志模式&#xff1a; 1&#xff0c;关闭数据库&#xff1a;shutdown immediate; 2&#xff0c;启动数据库实例到mount状态&#xff1a;startup mount; 3&#xff0c;切换数据库日志模式&#xff1a; alter database …

21 谁是老二?

21 谁是老二&#xff1f; 作者: Turbo时间限制: 1S章节: 一维数组 问题描述 : 一维数组中存储不超过100个整型数据&#xff0c;请找出其中第二大的元素&#xff0c;输出这些元素的值以及它们的下标。 注意&#xff0c;由于元素值可能相同&#xff0c;因此具有最大值的元素个…