目录

1 问题描述

2 解决方案

 


1 问题描述

问题描述
  设计算法,用户输入合数,程序输出若个素数的乘积。例如,输入6,输出2*3。输入20,输出2*2*5。
样例
  与上面的样例输入对应的输出。
  例:

数据规模和约定
  输入数据中每一个数在int表示范围内。

2 解决方案

具体代码如下:

import java.util.ArrayList;
import java.util.Scanner; public class Main {
//获取2~A之间的所有质数
public ArrayList<Integer> getPrimes(int A) {
ArrayList<Integer> list = new ArrayList<Integer>();
list.add(2);
for(int i = 3;i <= A;i++) {
if(judgePrime(i))
list.add(i);
}
return list;
}
//判断数A是否为质数,A为默认大于等于3的数
public boolean judgePrime(int A) {
for(int j = 2;j <= A;j++) {
if(A % j == 0) {
return false;
}
if(j > A / 2)
break;
}
return true;
} public void printResult(int A) {
ArrayList<Integer> list = new ArrayList<Integer>();
ArrayList<Integer> tempList = getPrimes(A);
int len = tempList.size();
while(A > 1) {
for(int i = 0;i < len;i++) {
if(A % tempList.get(i) == 0) {
list.add(tempList.get(i));
A = A / tempList.get(i);
break;
}
}
}
//输出结果
len = list.size();
for(int i = 0;i < len - 1;i++)
System.out.print(list.get(i)+"*");
System.out.print(list.get(len - 1));
return; } public static void main(String[] args) {
Main test = new Main();
Scanner in = new Scanner(System.in);
int A = in.nextInt();
test.printResult(A);
}
}

算法笔记_088:蓝桥杯练习 8-1因式分解(Java)的更多相关文章

  1. 算法笔记_083:蓝桥杯练习 合并石子(Java)

    目录 1 问题描述 2 解决方案   1 问题描述 问题描述 在一条直线上有n堆石子,每堆有一定的数量,每次可以将两堆相邻的石子合并,合并后放在两堆的中间位置,合并的费用为两堆石子的总数.求把所有石子 ...

  2. 算法笔记_076:蓝桥杯练习 结点选择(Java)

    目录 1 问题描述 2 解决方案   1 问题描述 问题描述 有一棵 n 个节点的树,树上每个节点都有一个正整数权值.如果一个点被选择了,那么在树上和它相邻的点都不能被选择.求选出的点的权值和最大是多 ...

  3. 算法笔记_075:蓝桥杯练习 最短路(Java)

    目录 1 问题描述 2 解决方案 2.1 floyd算法解决 2.2 spfa算法解决   1 问题描述 问题描述 给定一个n个顶点,m条边的有向图(其中某些边权可能为负,但保证没有负环).请你计算从 ...

  4. 算法笔记_064:蓝桥杯练习 操作格子(Java)

    目录 1 问题描述 2 解决方案   1 问题描述 问题描述 有n个格子,从左到右放成一排,编号为1-n. 共有m次操作,有3种操作类型: 1.修改一个格子的权值, 2.求连续一段格子权值和, 3.求 ...

  5. 算法笔记_095:蓝桥杯练习 拿糖果(Java)

    目录 1 问题描述 2 解决方案   1 问题描述 问题描述 妈妈给小B买了N块糖!但是她不允许小B直接吃掉. 假设当前有M块糖,小B每次可以拿P块糖,其中P是M的一个不大于根号下M的质因数.这时,妈 ...

  6. 算法笔记_094:蓝桥杯练习 矩阵相乘(Java)

    目录 1 问题描述 2 解决方案   1 问题描述 问题描述 小明最近在为线性代数而头疼,线性代数确实很抽象(也很无聊),可惜他的老师正在讲这矩阵乘法这一段内容. 当然,小明上课打瞌睡也没问题,但线性 ...

  7. 算法笔记_087:蓝桥杯练习 9-1九宫格(Java)

    目录 1 问题描述 2 解决方案   1 问题描述 问题描述 九宫格.输入1-9这9个数字的一种任意排序,构成3*3二维数组.如果每行.每列以及对角线之和都相等,打印1.否则打印0. 样例输出 与上面 ...

  8. 算法笔记_082:蓝桥杯练习 12-1三角形(Java)

    目录 1 问题描述 2 解决方案   1 问题描述 问题描述 为二维空间中的点设计一个结构体,在此基础上为三角形设计一个结构体.分别设计独立的函数计算三角形的周长.面积.中心和重心.输入三个点,输出这 ...

  9. 算法笔记_080:蓝桥杯练习 队列操作(Java)

    目录 1 问题描述 2 解决方案 1 问题描述 问题描述 队列操作题.根据输入的操作命令,操作队列(1)入队.(2)出队并输出.(3)计算队中元素个数并输出. 输入格式 第一行一个数字N. 下面N行, ...

随机推荐

  1. 最简单的Web Service实现

    概述 这里提供一个最简单的Web Service的实现,基于JAX-WS.除了jdk不需要任何其他jar包,使用Eclipse提供的Web Services Explorer访问服务. 服务端的实现 ...

  2. Bzoj4016/洛谷P2993 [FJOI2014] 最短路径树问题(最短路径问题+长链剖分/点分治)

    题面 Bzoj 洛谷 题解 首先把最短路径树建出来(用\(Dijkstra\),没试过\(SPFA\)\(\leftarrow\)它死了),然后问题就变成了一个关于深度的问题,可以用长链剖分做,所以我 ...

  3. 初见Python<5>:条件、循环和其他语句

    1.使用逗号输出 使用逗号隔开,可以打印多个表达式.打印后,各项之间自动以一个空格隔开. 也可以同时输出文本和变量值. 可以和字符串连接符“+”一起使用.   2.从模块中导入函数 从模块导入函数的方 ...

  4. AGC 012 D - Colorful Balls

    题面在这里! 为什么atcoder都是神仙题啊qwq 首先发现如果要让 x,y 互换位置的话,要么通过他们直接换 (也就是x和y满足两种操作之一),要么间接换,通过一些其他的元素形如 x可以和 a[1 ...

  5. 【二分】Petrozavodsk Winter Training Camp 2017 Day 1: Jagiellonian U Contest, Monday, January 30, 2017 Problem A. The Catcher in the Rye

    一个区域,垂直分成三块,每块有一个速度限制,问你从左下角跑到右上角的最短时间. 将区域看作三块折射率不同的介质,可以证明,按照光路跑时间最短. 于是可以二分第一个入射角,此时可以推出射到最右侧边界上的 ...

  6. ES6 Set结构和Map结构(上)

    Set ES6提供了新的数据结构--Set,它类似于数组,但是成员的值都是唯一的,没有重复的值. Set本身也是一个构造函数,用来生成Set数据结构 var s = new Set(); [2,3,5 ...

  7. 2016.4.3 动态规划NOI专练 王老师讲课整理

    1.6049:买书 总时间限制:  1000ms 内存限制:  65536kB 描述 小明手里有n元钱全部用来买书,书的价格为10元,20元,50元,100元. 问小明有多少种买书方案?(每种书可购买 ...

  8. Java高级架构师(一)第34节:Nginx的Http模块部分的指令

    默认长链接的数目在100个 默认长链接的超时时间,一般在75S.

  9. (转)JS中的对象

    1.对象 要有对象, 就先要有创建对象的方法. 在C++/Java等语言, 这个方法就是实例化XXX类的一个实例xxx.而在JavaScript的世界里实际没有类的东西, 当然仍然可以用"类 ...

  10. 使用参数化查询防止SQL注入漏洞

    参数化查询防止SQL注入漏洞 看别人的登录注册sql语句有没漏洞即可 Where  name=‘admin’ or ‘1=1’ and password=’123’; 可以Or ‘1=1’就是漏洞 h ...