中国MOOC_零基础学Java语言_第7周 函数_1分解质因数
第7周编程题
第7周编程题
依照学术诚信条款,我保证此作业是本人独立完成的。
温馨提示:
1.本次作业属于Online Judge题目,提交后由系统即时判分。
2.学生可以在作业截止时间之前不限次数提交答案,系统将取其中的最高分作为最终成绩。
题目内容:
每个非素数(合数)都可以写成几个素数(也可称为质数)相乘的形式,这几个素数就都叫做这个合数的质因数。比如,6可以被分解为2x3,而24可以被分解为2x2x2x3。
现在,你的程序要读入一个[2,100000]范围内的整数,然后输出它的质因数分解式;当读到的就是素数时,输出它本身。
输入格式:
一个整数,范围在[2,100000]内。
输出格式:
形如:
n=axbxcxd
或
n=n
所有的符号之间都没有空格,x是小写字母x。
输入样例:
18
输出样例:
18=2x3x3
import java.util.Scanner;
public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int count = 0;// 计数器
		int n = 0;// 输入
		int nBeifen;// 备份n
		int prime = 2;// 素数,第一个素数是2
		n = sc.nextInt();
		if (prime(n)) {
			System.out.printf("%d=%d\n", n, n);// n=n
		} else {
			System.out.printf("%d=", n);// n=axbxcxd
			nBeifen = n;
			while (nBeifen > 1) {
				if (nBeifen % prime == 0) {
					if (count > 0) {
						System.out.printf("x");
					}
					nBeifen = nBeifen / prime;
					System.out.printf("%d", prime);
					count++;
				} else {
					prime++;
					prime = nextPrime(prime);// 下一个素数
				}
			}
			System.out.printf("\n");
		}
	}
	public static boolean prime(int n) {// 判断是否素数
		boolean isPrime = true;// 默认是素数
		if (n == 1 || (n % 2 == 0 && n != 2)) {// 判断1或者除了2的偶数
			isPrime = false;
		} else if (n == 2) {// 判断2
			isPrime = true;
		} else {// 判断其他
			for (int i = 3; i < Math.sqrt(n); i += 2) {
				if (n % i == 0) {
					isPrime = false;
					break;
				}
			}
		}
		return isPrime;
	}
	public static int nextPrime(int n) {// 下一个素数
		while (true) {
			if (prime(n)) {
				return n;
			} else {
				n++;
			}
		}
	}
}
中国MOOC_零基础学Java语言_第7周 函数_1分解质因数的更多相关文章
- 中国MOOC_零基础学Java语言_第6周 使用对象_1单词长度
		第6周编程题 查看帮助 返回 第6周编程题 依照学术诚信条款,我保证此作业是本人独立完成的. 温馨提示: 1.本次作业属于Online Judge题目,提交后由系统即时判分. 2.学生可以在作业截 ... 
- 中国MOOC_零基础学Java语言_第7周 函数_2完数
		2 完数(5分) 题目内容: 一个正整数的因子是所有可以整除它的正整数.而一个数如果恰好等于除它本身外的因子之和,这个数就称为完数.例如6=1+2+3(6的因子是1,2,3). 现在,你要写一个程序, ... 
- 中国MOOC_零基础学Java语言_第5周 数组_1多项式加法
		第5周编程题 查看帮助 返回 第5周编程题 依照学术诚信条款,我保证此作业是本人独立完成的. 温馨提示: 1.本次作业属于Online Judge题目,提交后由系统即时判分. 2.学生可以在作业截 ... 
- 中国MOOC_零基础学Java语言_第4周 循环控制_1素数和
		第4周编程题 查看帮助 返回 第4周编程题 依照学术诚信条款,我保证此作业是本人独立完成的. 温馨提示: 1.本次作业属于Online Judge题目,提交后由系统即时判分. 2.学生可以在作业截 ... 
- 中国MOOC_零基础学Java语言_第3周 循环_1奇偶个数
		第3周编程题 查看帮助 返回 第3周编程题 依照学术诚信条款,我保证此作业是本人独立完成的. 温馨提示: 1.本次作业属于Online Judge题目,提交后由系统即时判分. 2.学生可以在作业截 ... 
- 中国MOOC_零基础学Java语言_第2周 判断_1时间换算
		第2周编程题 查看帮助 返回 第2周编程题 依照学术诚信条款,我保证此作业是本人独立完成的. 温馨提示: 1.本次作业属于Online Judge题目,提交后由系统即时判分. 2.学生可以在作业截 ... 
- 中国MOOC_零基础学Java语言_第6周 使用对象_2GPS数据处理
		2 GPS数据处理(5分) 题目内容: NMEA-0183协议是为了在不同的GPS(全球定位系统)导航设备中建立统一的BTCM(海事无线电技术委员会)标准,由美国国家海洋电子协会(NMEA-The N ... 
- 中国MOOC_零基础学Java语言_第4周 循环控制_2念整数
		2 念整数(5分) 题目内容: 你的程序要读入一个整数,范围是[-100000,100000].然后,用汉语拼音将这个整数的每一位输出出来. 如输入1234,则输出: yi er san si 注意, ... 
- 中国MOOC_零基础学Java语言_第3周 循环_2数字特征值
		2 数字特征值(5分) 题目内容: 对数字求特征值是常用的编码算法,奇偶特征是一种简单的特征值.对于一个整数,从个位开始对每一位数字编号,个位是1号,十位是2号,以此类推.这个整数在第n位上的数字记作 ... 
随机推荐
- 一文看懂HttpServletResponse
			https://www.jianshu.com/p/8bc6b82403c5 Web服务器收到客户端的http请求,会针对每一次请求,分别创建一个用于代表请求的request对象.和代表响应的resp ... 
- jmeter做websocket协议的接口测试
			1.首先介绍一下我们要测试的接口的业务流程: (1)http协议登录,登录成功获取一个clientsessionid,时效30Min (2)用这个clientsessionid+登陆的用户名建立连接s ... 
- python数据类型基础与解压缩
			''' python数据类型基础与解压缩 ''' # a = 10 # b = 10 # c = 10 # 定义变量就是拿来用的, # 链式赋值 a = b = c = 10 print(a, b, ... 
- 浅谈MySQL存储引擎选择 InnoDB还是MyISAM
			如果是一些小型的应用或项目,那么MyISAM 也许会更适合.当然,在大型的环境下使用MyISAM 也会有很大成功的时候,但却不总是这样的.如果你正在计划使用一个超大数据量的项目,那么你应该直接使用In ... 
- Python _easygui详细版
			1. msgbox msgbox(msg='(Your message goes here)', title=' ', ok_button='OK', image=None, root=None) m ... 
- Python----webserver项目2
			# 编码问题 - 为什么需要编码问题 - 本质上计算机只能识别01代码 - 如何用一长串01代码表示复杂的信息 - encode:编码 decode:解码 - 编码简史 - 二进制 - bit: 一 ... 
- DOM操作元素
			DOM 操作元素 JavaScript的DOM操作可以改变网页内容.结构和样式.我们可以利用DOM操作元素来改变元素里面的内容.属性等. DOM操作元素: 一.操作元素:(一)innerText .( ... 
- linux-shell脚本基础-2
			1,用户组 添加用户 useradd -u UID -o -g 指定 GID或组名 -c 注释信息 -d 家目录 -s shell -G 附加组 -r 系统用户 -m 家目录,系统用户 -M 不创建家 ... 
- 创建一个简单的 Springboot web项目
			1.点击Project 2.点击 Next 3.项目名 4.web 项目 4.确认 5.pom.xml <?xml version="1.0" encoding=" ... 
- UVa 11235 Frequent values (RMQ && 区间出现最多次的数的次数)
			题意 : 给出一个长度为 n 的不降序序列,并且给出 q 个形如(L, R)的问询,问你这个区间出现的最多次的数的次数. 分析 : 很自然的想到将区间“缩小”,例如1 1 2 3 3 3就可以变成2 ... 
