public class Test2 {
成都创新互联公司坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都做网站、成都网站建设、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的海沧网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!
public static void main(String[] args) {
Test2 t = new Test2();
Scanner in=new Scanner(System.in);
System.out.println("输入一个数:");
int number=in.nextInt();
System.out.println(t.A(number));
}
public String A(int mun)// 带一个需要分解的整数
{
String s = mun + "=";// 输出的字符串
int smun = mun;
for (int i = 2; i = mun; i++)// 从2开始循环。
{
if (smun % i == 0)// 判断是否整除
{
smun = smun / i;// 整除就将除后的值重新赋值
if (smun == 1)// 如果赋值后的变量等于1,说明整除完毕。
{
if (mun / i == 1)// 如果原先输入的整数也能被这个数除完,说明只有一个分因式
{
s += i + "*" + 1;
break;
}
s += i;
break;
}
s += i + "*";
i--;// 数能被整除,却没有除完,从该数重新循环
}
}
return s;// 返回所得字符串。
}
}
引用30……bai方法!
程序运行截图:
代码:
public class Test {
public static final void main(String[] args) {
// 质数(prime number)又称素数
// 对n进行分解质因数,应先找到一个最小的质数k
System.out.println("该程序实现一个正整数分解质因子");
System.out.println("请输入一个正整数:");
Scanner scanner = new Scanner(System.in);
int n = Integer.valueOf(scanner.nextLine());
System.out.println("n = " + n);
Test localTest = new Test();
// 存储质因子
ListInteger primeList = new ArrayListInteger();
localTest.factorizationIntoPrimeNumbers(n, primeList);
System.out.print("n = ");
for (int i = 0; i primeList.size(); i++) {
if (i == 0) {
System.out.print(primeList.get(i));
} else {
System.out.print("*" + primeList.get(i));
}
}
}
private void factorizationIntoPrimeNumbers(int n, ListInteger primeList) {
// n的最小质数
int minPrime = 0;
boolean flag = true;
// 查询n中的质数
for (int i = 2; i = n flag; i++) {
for (int j = 2; j = i; j++) {
if (j == i) {// j是质数
if (n % j == 0) {// j是n的质因子
minPrime = j;
flag = false;
break;
}
} else if (i % j == 0) {// j不是质数
break;
}
}
}
if (minPrime == n) {// 这个质数恰等于n,则说明分解质因数的过程已结束,打印出即可
System.out.println("质因子:" + n);
primeList.add(minPrime);
} else if (minPrime != 0) {// n的最小质因子
System.out.println("质因子:" + minPrime);
primeList.add(minPrime);
factorizationIntoPrimeNumbers(n / minPrime, primeList);
}
}
}
按照你的要求编写的Java程序如下:
import java.util.Scanner;
public class CCC {
public static void main(String[] args) {
int []factor=new int[32];
Scanner sc=new Scanner(System.in);
System.out.print("请输入一个整数:");
int n=sc.nextInt();
int factorcount=0;
int m=n;
for(int j=2;j=m;j++){
if(m%j==0){
factor[factorcount++]=j;
m=m/j;
j=j-1;
}
}
System.out.print(n+"=");
for(int k=0;kfactorcount;k++){
if(k==factorcount-1){
System.out.print(factor[k]);
}else{
System.out.print(factor[k]+"*");
}
}
}
}
运行结果:
请输入一个整数:100
100=2*2*5*5
package neusoft.com.test;
public class Test2 {
public static void main(String args[]){
int x = 18,y = 39;
int result1 = getMax(x,y);
System.out.println(result1);
int result2 = getMin(x,y);
System.out.println(result2);
}
//最大公约数
public static int getMax(int x,int y){
int tmp = 0;
if(x y){
tmp = y;
}else{
tmp = x;
}
for(int i = tmp; i = 1; i--){
if(x % i == 0 y % i == 0){
return i;
}
}
return -1;
}
//最小公倍数
public static int getMin(int x,int y){
int tmp = 0;
if(x y){
tmp = y;
}else{
tmp = x;
}
for(int i = tmp; i 0; i++){
if(i % x == 0 i % y == 0){
return i;
}
}
return -1;
}
}
其实不需要那么麻烦的,这个就可以了:
import java.util.Scanner;
public class test {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("Input number:");
int input = scan.nextInt();
int i = 2;
int count = 0;
System.out.print(input + "=");
while (input = i) {
if (input % i == 0) {
if (count 0) {
System.out.print("*");
}
input = input/i;
System.out.print(i);
count++;
}
else {
i++;
}
}
if (count == 1) {
System.out.print("*1");
}
else if (count 1) {
System.out.print("1*1");
}
System.out.println();
}
}