java将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
首先我们的算法是:例如 输入的是 90
1.找到90的最小公约数(1除外)是 2
2.然后把公约数 2 输出
3.接着用 90 / 2 = 45 (如果这里是素数,就结束,否则继续找最小公约数)
4.找到45 的最小公约数 (最小公约数是 3)
5.输出 3 接着重复第3步...........(反正只要第3步是素数,就结束掉)
话不多说,都在代码里了。
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner input = new Scanner(System.in);
//输入
System.out.println("请输入一个大于3的数:");
int number = input.nextInt();
fengjie(number);
}
public static void fengjie(int j){
for(int i=2;i<Math.sqrt(j);i++){
//这个if是找最小公约数
if(j%i == 0){
System.out.print(i+"*");
//这个if是判断他是不是素数,如果是素数,就将这个数输出,然后就执行break;了
if(isPrime(j/i)){
System.out.print(j/i);
}
else
//如果不是素数,就继续分解,找公约数
fengjie(j/i);
break;
}
}
}
//判断是否是素数
public static boolean isPrime(int n){
for(int i=2;i<Math.sqrt(n);i++)
{
if(n%i == 0)
return false;
}
return true;
}
觉得这个题目应该对于初学者来说有一点小小的帮助
要是有哪里写错了,或者哪里不懂的地方的地方,可以给我留言,我会改正,谢谢大家。
java将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。的更多相关文章
- 【python】将一个正整数分解质因数
def reduceNum(n): '''题目:将一个正整数分解质因数.例如:输入90,打印出90=2*3*3*5''' print '{} = '.format(n), : print 'Pleas ...
- C# 练习题 将一个正整数分解质因数
题目:将一个正整数分解质因数.例如:输入90,打印出90=2*3*3*5.程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:(1)如果这个质数恰等于n,则说明分解质因数的过程 ...
- 【Python】【demo实验17】【练习实例】【将一个正整数分解质因数】
题目:将一个正整数分解质因数.例如:输入90,打印出90=2*3*3*5. 我的源代码: #!/usr/bin/python # encoding=utf-8 # -*- coding: UTF-8 ...
- 利用matlab实现以下功能:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
程序思路: 对n进行分解质因数,应先找到一个最小的质数k,从2开始,然后按下述步骤完成: (1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可. (2)如果n不等于k,则应打印出k的 ...
- 【Python3练习题 010】将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
#参考http://www.cnblogs.com/iderek/p/5959318.html n = num = int(input('请输入一个数字:')) #用num保留初始值 f = [] ...
- python基础练习题(题目 将一个整数分解质因数。例如:输入90,打印出90=2*3*3*5)
day9 --------------------------------------------------------------- 实例014:分解质因数 题目 将一个整数分解质因数.例如:输入 ...
- java例题_04 分解质因数
1 /*4 [程序 4 分解质因数] 2 题目:将一个大于 2 正整数分解质因数.例如:输入 3, 3=3, 输入 6, 6=2*3,输入 90, 90=2*3*3*5. 3 程序分析:对 n 进行分 ...
- 将一个正整数分解为m个2的n次方的和
-- ============================================= -- Author: <maco_wang> -- Create date: & ...
- java 将一个正整数翻译成人民币大写的读法
程序如下: import java.lang.StringBuffer; /** 给定一个浮点数,将其装换成人民币大写的读法 88.5:捌十捌元零伍角 */ public class Num2Rmb ...
随机推荐
- 纯js生成验证码
实现代码: <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"& ...
- Java基于TCP的Socket编程练习
环境:Notpad ++ 6.0 + JDK 6.0.31 问题:使用套接字编写客户-服务器程序,实现客户-服务器交互计算.客户将三角形3个边的长度发给服务器,服务器把计算出的三角形的面积返回给客户. ...
- shell中的数字
shell中的数字 author :headsen chen date :2017-10-18 15:01:42 个人原创,转载请注明作者,出处,否则依法追究法律责任 1,生成随机数(范围:0-32 ...
- Python 中 mySQL 中的语句
class DeleteInventorybusiness(BaseBusiness): def DeleteInventory(self,Delete_goodsID): DeleteInvento ...
- 笔记:Spring Cloud Zuul 快速入门
Spring Cloud Zuul 实现了路由规则与实例的维护问题,通过 Spring Cloud Eureka 进行整合,将自身注册为 Eureka 服务治理下的应用,同时从 Eureka 中获取了 ...
- Android Studio设置字体和主题
步骤:File >> settings >> Appearance & Behavior >> Appearance >> ...
- 每天学习点jquery
一.jquery选择器 1.根据给定的ID匹配一个元素(如果选择器中包含特殊字符,可以用两个斜杠转义)id选择器 举例:html代码 <div id="notMe">& ...
- java开发常用技术
基础部分 1. 线程和进程的区别 线程三个基本状态:就绪.执行.阻塞 线程五个基本操作:创建.就绪.运行.阻塞.终止 进程四种形式:主从式.会话式.消息或邮箱机制.共享存储区方式 进程是具有一定功能的 ...
- Android权限Uri.parse的几种用法(转载)
1,调web浏览器 Uri myBlogUri = Uri.parse("http://xxxxx.com"); returnIt = new Intent(Intent.ACTI ...
- 用C语言协助办公_01 找出所有不对劲的人
近期想出一系列用C语言协助办公的视频教程,这是第一个.具体的移步:https://chuanke.baidu.com/v6658388-240377-1789288.html