java nextprime_中国MOOC_零基础学Java语言_第7周 函数_1分解质因数
1
分解质因数(5分)
题目内容:
每个非素数(合数)都可以写成几个素数(也可称为质数)相乘的形式,这几个素数就都叫做这个合数的质因数。比如,6可以被分解为2x3,而24可以被分解为2x2x2x3。
现在,你的程序要读入一个[2,100000]范围内的整数,然后输出它的质因数分解式;当读到的就是素数时,输出它本身。
输入格式:
一个整数,范围在[2,100000]内。
输出格式:
形如:
n=axbxcxd
或
n=n
所有的符号之间都没有空格,x是小写字母x。
输入样例:
18
输出样例:
18=2x3x3
时间限制:500ms内存限制:32000kb
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++;
}
}
}
}
java nextprime_中国MOOC_零基础学Java语言_第7周 函数_1分解质因数相关推荐
- java无线电台RS制信号_中国MOOC_零基础学Java语言_第2周 判断_2信号报告
2 信号报告(5分) 题目内容: 无线电台的RS制信号报告是由三两个部分组成的: R(Readability) 信号可辨度即清晰度. S(Strength) 信号强度即大小. 其中R位于报告第一 ...
- 机械转行java自学经历,零基础学java,血泪总结的干货
机械转行java自学经历,零基础学java,血泪总结的干货 1.我为什么转行 2.转行之路 3.面试之路 自学路上的网站 Java教程 实践项目一站式学习 bilibili 自学书籍 <Java ...
- 零基础学python语言_零基础如何入门Python语言?有哪些学习建议?
众所周知,Python目前是最受欢迎的编程语言之一,尤其是对于零基础的初学者来说,Python语言更是十分的友好.因此,不少初学者常常会有这样一个共同的疑惑,零基础如何入门Python语言?本文就来给 ...
- 翁恺java答案第五周_[JAVA]翁恺老师零基础学java语言第五周素数例题中continue的困惑...
第五周求前50个素数的例子中,continue跳出当次循环后的疑问 例题中的这段: ======================================== MAIN_LOOP: for(in ...
- 零基础学python语言_致初学者:零基础如何学好,Python这门编程语言?
前言 对于很多Python这门编程语言的初学者,往往会面临以下问题: Python2和Python3我该学习哪一个? 是否要安装Linux系统学习Python? Python3有各种版本我该安装哪一个 ...
- 零基础学Java大数据难不难
java大数据如今在企业中用到的次数是非常多的,很多人都比较看好java技术,那么零基础学Java大数据难不难?想要学习java技术说难不难,说简单也不是很简单,来看看下面的详细介绍就知道了. 零基础 ...
- 会java需要多久能学会python_java好学吗?零基础学java要多久?
java好学吗?零基础学java要多久? 时间:2019-05-21 来源:华清远见 2019年3月,tiOBE 公布了编程语言排行榜,正如官方所说,本月的排名几乎没有任何有趣的变化,排名前十 ...
- 零基础学Java,有必要上培训班吗?
零基础学Java?随着社会信息的发展,Java技术已经无处不在,无论是手机软件.手机Java游戏还是电脑软件等,只要你使用到电子产品就会碰到和Java有关的东西,更多的企业正采用Java语言开发网站. ...
- 『零基础学Java语言-浙江大学-翁恺』第6周 使用对象
以下为个人学习笔记和习题整理 课程:零基础学Java语言-浙江大学-翁恺 @ 中国大学MOOC https://www.icourse163.org/course/ZJU-1001541001 文章目 ...
- [零基础学JAVA]Java SE实战开发-37.MIS信息管理系统实战开发[JDBC](1)
MIS信息管理系统实战开发之使用MySQL实现保存 开发背景 ID.姓名.年龄为公共信息,而学生有成绩,工人有工资 定义一个抽象类Person(ID.姓名.年龄),学生是其子类,有成绩,工人是其子类有 ...
最新文章
- java calendar与date_java---Calendar与Date
- 励遍图块中的实体_如何删除CAD中的顽固图层?【AutoCAD教程】
- Django(part7)--请求及HttpRequest对象
- 判断字符串中有多少汉字
- [NOIP2003] 提高组 洛谷P1041 传染病控制
- ios keychain 不被清理_iOS签名机制和说明文件【ios企业签名吧】
- linux环境手动编译安装Nginx实践过程 附异常解决
- 在没有创建Provision Profile权限的情况下 发布Enterprise inhouse app 的方法
- ThinkPHP5校园图书馆管理系统
- QT5 qml的ListView控件使用
- 三分钟细数几款可视化前端开发工具
- 加权平均法和移动加权法的例题
- Cisco Packet Tracer---链路聚合简单配置
- c语言找adc最小值,STC12C5A60S2 AD转换C语言示例程序(ADC查询方式)
- 《objective-c程序设计》学习笔记
- 非转基因保护品种覆盖南北 北方旱作国稻种芯-517功能苦瓜稻
- Boolean中0与1的转化
- 移动通信技术发展简史:为什么第五次迭代(5G)如此引人瞩目?
- 银行数字化转型导师坚鹏:农商行数字化转型案例研究
- 图像的直方图计算及绘制(红绿蓝三通道直方图)