「因子度java」因子度算法题
本篇文章给大家谈谈因子度java,以及因子度算法题对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、Java编写输出一个整数的所有因子
- 2、用JAVA编写用户输入一个整数,求这个整数的因子和(所谓因子即可以被其整除的数,但本身不算,
- 3、Java中怎样实现输入一个数,求它的所有因子里面的素数
- 4、用java语言编写一个数的最小因子
- 5、java输入一个正整数输出它的所有质数的因子~求解答急急急急!
- 6、因子求和(Java编程),请运行后务必是输入输出样式
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编写用户输入一个整数,求这个整数的因子和(所谓因子即可以被其整除的数,但本身不算,
public class Test1 {
public static void main(String[] args) {
int num = 1845;
int sum = 0;
System.out.println("因子:1");
sum += 1;
int sqrt = (int)Math.sqrt(num);
for(int i=2;isqrt;i++){
int j = num%i;
if(j==0){
System.out.println("因子:"+i);
sum += i;
int k = num/i;
System.out.println("因子:"+k);
sum += k;
}
}
System.out.println("因子和:"+sum);
}
}
Java中怎样实现输入一个数,求它的所有因子里面的素数
/**
* 输入一个数
* num
*/
System.out.println("请输入一个数:");
int num = 0;
try {
num = Integer.parseInt(new BufferedReader(new InputStreamReader(System.in)).readLine());
} catch (Exception e) {
// TODO Auto-generated catch block
System.out.println("你输入的不是数字:");
e.printStackTrace();
return;
}
/**
* 求质因子
*/
System.out.println("该数的质因子:");
ListInteger list= new ArrayListInteger();
for(int i=1;i=num;i++){
if(num%i==0){
list.add(i);
num=num/i;
System.out.print(i+" ");
}
}
if(num1){
list.add(num);
System.out.println(num);
}
用java语言编写一个数的最小因子
import java.util.List;
public class StackOfIntegers {
//存放分解的素数
ListInteger list = new ArrayListInteger();
//主方法,求分解素数
public void getSub(int sum){
//获取中间数的后一个数,保证中间数可以在下面的for中被循环
int middle = getMiddleAfter(sum);
//2是最小的素数,从2开始循环除
for(int i=2;imiddle;i++){
//如果i不为素数,直接跳过,循环下个数
if(!isSuShu(i)){
continue;
}
//余数
int yu = sum%i;
//商
int last = sum/i;
if(yu==0){
//余数为0,i为sum的因子,填入list
list.add(i);
//如果商为素数,则添加商到list,程序结束
if(isSuShu(last)){
list.add(last);
return;
}
//如果商不为素数,递归商调用本方法,分解商
getSub(sum/i);
//如果sum可以被素数因子整除,直接分解商,后续的因子不必再循环
break;
}
}
}
//如果可以被2整除,则+1,否则+1后再除以2
public int getMiddleAfter(int num){
if(num%2==0){
return num/2+1;
}else{
return (num+1)/2;
}
}
//判断是否是素数
public boolean isSuShu(int num){
boolean flag = true;
for(int i=2;inum;i++){
if(num%i==0){
flag = false;
break;
}
}
return flag;
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
StackOfIntegers s = new StackOfIntegers();
s.getSub(120);
System.out.println(s.list);
}
}
java输入一个正整数输出它的所有质数的因子~求解答急急急急!
按照你的要求编写的Java程序如下:
import java.util.*;
public class Main //主类名称必须为Main
{
public static void main(String[] args) throws Exception
{
Scanner cin=new Scanner(System.in);
System.out.print("请输入一个正整数:");
int n=cin.nextInt();
System.out.print(n+"=");
int count=0;
for(int i=2;i=n;i++){
if(n%i==0){
if(count==0)
System.out.print(i);
else
System.out.print("*"+i);
count++;
n=n/i;
i--;
}
}
}
}
运行结果:
请输入一个正整数:90
90=2*3*3*5
因子求和(Java编程),请运行后务必是输入输出样式
System.out.println("输入正整数N后回车计算其因子和");
int N = new Scanner(System.in).nextInt();
int sum = 0;
String tips = "";
if ((20 = N) (N = 1000000)) {
for (int i = 2; i N; i++) {
if ((N % i) == 0) {
sum += i;
tips += i + ",";
}
}
System.out.println("因子和:" + sum);
System.out.println(N + "的因子有:" + tips.substring(0, tips.length() - 1) + ",其和为:" + sum);
}
因子度java的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于因子度算法题、因子度java的信息别忘了在本站进行查找喔。
发布于:2022-11-22,除非注明,否则均为
原创文章,转载请注明出处。