「java找出所有因数」java找出最大数
今天给各位分享java找出所有因数的知识,其中也会对java找出最大数进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
java求所有非1非本身因数(不是质因数)
public class YinShuDemo {
public static void main(String[] args) {
for (int i = 1; i = 100; i++) {
showYinShu(i);
}
}
private static void showYinShu(int i) {
System.out.print("数字"+i+"的因数: ");
for (int j = 2; j =i/2; j++) {
if(i%j==0){//余数为0 表示是其因素
System.out.print(j+",");
}
}
System.out.println();
}
}
输出
数字1的因数:
数字2的因数:
数字3的因数:
数字4的因数: 2,
数字5的因数:
数字6的因数: 2,3,
数字7的因数:
数字8的因数: 2,4,
数字9的因数: 3,
数字10的因数: 2,5,
数字11的因数:
数字12的因数: 2,3,4,6,
............
.......
....
..
.
Java编写输出一个整数的所有因子
import java.util.Scanner;
public class A {
public static void main(String[]args){
Scanner in = new Scanner(System.in);
int a = in.nextInt();//从控制台读入一个整数,也可以在这直接给a赋给初值
System.out.print(a+"的所有因子是:");
for(int i = 1;i=a;i++){
if(a%i==0){ //a对i取余,能除尽i就是a的因子
System.out.print(i+" ");//打印这个i值
}
}
}
}
java输入一个整数,输出其所有素数因子
import java.util.ArrayList;
import java.util.List;
import java.lang.Math;
public class Solution {
private int num;
private ListInteger primeList;
private int index;
public int getNum() {
return num;
}
public void setNum(int num) {
this.num = num;
}
public Solution(int num) {
this.num = num;
primeList = new ArrayListInteger();
primeList.add(3);
}
public ListInteger findPrimeContainedList(){
index=0;
int operationNum = num;
ListInteger list = new ArrayListInteger();
int stop = (int) Math.floor(Math.sqrt(operationNum));
if(stop = 2){
return list;
}
operationNum = checkAndRemovePrimeNumber(operationNum,2,list);
stop = (int) Math.floor(Math.sqrt(operationNum));
int p = getNextPrimeNumber();
while(p = stop){
operationNum = checkAndRemovePrimeNumber(operationNum,p,list);
stop = (int) Math.floor(Math.sqrt(operationNum));
p = getNextPrimeNumber();
}
list.add(operationNum);
return list;
}
private int checkAndRemovePrimeNumber(int num,int p,ListInteger resultList){
boolean f = false;
while(num%p == 0){
num/=p;
f = true;
}
if(f){
resultList.add(p);
}
return num;
}
private int getNextPrimeNumber() {
if(this.primeList.size()index++){
return this.primeList.get(index-1);
}
int next = this.primeList.get(this.primeList.size()-1) + 2;
while(true){
int stop = (int) Math.floor(Math.sqrt(next));
boolean f = true;
for(int n: this.primeList){
if(n stop){
break;
}
if(next%n==0){
f = false;
break;
}
}
if(f){
this.primeList.add(next);
break;
}else{
next += 2;
}
}
return next;
}
public static void main(String[] args) {
Solution s = new Solution(123);
System.out.println(s.findPrimeContainedList());
s.setNum(240);
System.out.println(s.findPrimeContainedList());
}
}
好久没写JAVA了。逻辑很简单,做了点优化。
java找出所有因数的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java找出最大数、java找出所有因数的信息别忘了在本站进行查找喔。
发布于:2022-12-09,除非注明,否则均为
原创文章,转载请注明出处。