java例题_04 分解质因数
1 /*4 【程序 4 分解质因数】
2 题目:将一个大于 2 正整数分解质因数。例如:输入 3, 3=3, 输入 6, 6=2*3,输入 90, 90=2*3*3*5。
3 程序分析:对 n 进行分解质因数,应先找到一个最小的质数 k,然后按下述步骤完成:
4 (1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。
5 (2)如果 n<>k,但 n 能被 k 整除,则应打印出 k 的值,并用 n 除以 k 的商,作为新的正整数 n,重复执行第
6 一步。
7 (3)如果 n 不能被 k 整除,则用 k+1 作为 k 的值,重复执行第一步。
8 */
9
10 /*分析:
11 * 1.从键盘输入一个整数n,百度到三种方法,感觉使用scanner类比较方便,没有局限性
12 * 2.用for循环遍历除以2~n,找到第一个能除尽的值a
13 * 3.用n除以a值得到新的n
14 * 4.重复以上过程,直到n=a;
15 */
16
17 //【注】因为最终需要得到所有a的具体值,以此想到数组,学习发现java中的数组和C中的数组声明时有区别
18
19
20
21 package homework;
22
23 import java.util.Scanner;
24
25 public class _04 {
26
27 public static void main(String[] args) {
28
29 System.out.println("请输入一个整数n:");
30 // 从键盘得到一个整数n
31 Scanner scan=new Scanner(System.in);
32 int n=scan.nextInt();
33 int m=n;
34 //声明一个长度为20的数组用来存放因数a的值
35 int a[]=new int[20];
36 //声明一个数组角标
37 int j=0;
38 //遍历2~n的值,用if语句判断呢能否整除
39 for (int i=2; i<=m;) {
40 if(m%i==0) {
41 a[j]=i;
42 j++; //多加了一个
43 m=m/i;
44 }
45 else {
46 i++;
47 }
48 }
49 //输出分解后的因式
50 System.out.print(n+","+n+"=");
51 System.out.print(a[0]);
52 for (int i=1; i<=j-1; i++) { //将多加的减回来
53 System.out.print("*"+a[i]);
54 }
55 }
56
57 }
java例题_04 分解质因数的更多相关文章
- 蓝桥网试题 java 基础练习 分解质因数
-------------------------------------------------------------------------- 递归更多的用在多分支情况中 本题用循环就可以了 用 ...
- java将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
首先我们的算法是:例如 输入的是 90 1.找到90的最小公约数(1除外)是 2 2.然后把公约数 2 输出 3.接着用 90 / 2 = 45 (如果这里是素数,就结束,否则继续找最小公约数) 4. ...
- java分解质因数
package test; import java.util.Scanner; public class Test19 { /** * 分析:对n进行分解质因数,应先找到一个最小的质数k * 最小 ...
- java求最大公约数(分解质因数)
下面是四种用java语言编程实现的求最大公约数的方法: package gcd; import java.util.ArrayList; import java.util.List; public c ...
- Java经典案例之-“分解质因数”
/** * 描述:将一个正整数分解质因数.例如:输入90,打印出90=2*3*3*5. * 分析: * 对n进行分解质因数,应该先找到一个最小的质数k,然后按照下列步骤进行: * (1)如果这个质数恰 ...
- java 分解质因数 基础增强
题目:将一个正整数分解质因数.例如:输入90,打印出90=2*3*3*5. 为了熟悉加强基础练习,搞搞经典小demo..话不多说,直接贴代码,看注释.package www.test;import j ...
- java 分解质因数
算法目的:对一个正整数分解质因数 一.算法分析: 1.建立整数列表,保存求到的因数. 2.声明整数i=2,用以递增取模:整数m,用于临时保存n 3.建立while循环,i小于等于整数m时,判断m%i, ...
- java分解质因数,具体程序分析和代码
题目:将一个正整数分解质因数.例如:输入90,打印出90=2*3*3*5. 将一个正整数分解质因数分析:对n进行分解质因数,找到最小的质数k如果这个质数恰好等于n则说明分解质因数过程已经结束,打印输出 ...
- java从键盘输入数,分解质因数,
总结:1.break;的用法 当最小质因数不能被输入的值整除时,需要继续循环.k++. 当然输入的数,本身就是质数时,那么 package com.b; import java.util.Scanne ...
随机推荐
- Xcode 格式化 SwiftUI代码
Xcode 格式化 SwiftUI 代码 代码缩进 代码缩进 格式化 快捷键 Control + i ⌃ + i how to input mac keyboard symbol key ⌃ cont ...
- computer network layers architecture (TCP/IP)
computer network layers architecture (TCP/IP) 计算机网络分层架构 TCP/IP 协议簇 OSI 模型(7 层) TCP/IP (4 层) Applicat ...
- how to copy to clipboard using windows cmd
how to copy to clipboard using windows cmd Windows clipboard command line https://www.labnol.org/sof ...
- CSS overflow-anchor
CSS overflow-anchor https://developer.mozilla.org/en-US/docs/Web/CSS/overflow-anchor https://develop ...
- html2Canvas to Images
<script> $(function () { var content = document.getElementById("shareImages"); conte ...
- NGK福利再升级,1万枚VAST限时免费送
NGK在推出持有算力获得SPC空投活动后,福利再升级,于美国加州时间2021年2月8日下午4点推出新人福利活动,注册NGK成为新会员,即可获得0.2枚VAST奖励. VAST免费福利送活动仅送出1万枚 ...
- 区块链项目NGK未来价值几何?
没有人可以预知NGK未来会涨到多少钱,就像比特币只有10美分时,也无法预测它会涨到现在的价格⼀样.那时候人们把CPU超频挖矿只作为⼀种爱好和娱乐.所以,人们也没有办法预知NGK未来的价格.但可以知道的 ...
- ffmpeg第4篇:为视频添加动态水印
动态分为三种: 水印本身变化 水印显示时间变化 水印位置变化 水印本身变化 看过上一篇的小伙伴可能觉得第一种很简单,把jpg格式的图片换成gif格式的不就可以了吗,然而亲自试一下就会发现,把gif图片 ...
- 处理XML数据应用实践
摘要:GaussDB(DWS)支持XML数据类型及丰富的XML解析函数,可实现关系数据和XML数据的映射管理功能. XML概述 XML是可扩展的标识语言(eXtensible Markup Langu ...
- CMD(命令提示符)的基本操作(文件)
打开CMD窗口,接下来将介绍如何使用CMD来创建.删除.修改.查看文件 1.1 使用CMD创建空文件(为了更好的演示,本文皆以D盘为当前路径),命令如下: copy nul xxx.xx(文件名) 命 ...