重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
import java.util.Scanner;
成都创新互联专注于企业营销型网站建设、网站重做改版、湖口网站定制设计、自适应品牌网站建设、成都h5网站建设、商城系统网站开发、集团公司官网建设、成都外贸网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为湖口等各大城市提供网站开发制作服务。
public class test{
public static void main(String []args){
10
int n,m=0;
Scanner sc = new Scanner(System.in);
System.out.print("input your number:");
n = sc.nextInt();
m = n;
boolean f=true;
for (int i=2; i=n/2; i++) { //判断是否是素数
if (n%i == 0) {
f = false;
break;
}
}
if (f) {
System.out.println(n + "=1*" + n);
} else {
boolean s = false;
int i = 0;
while (n 0)
{
for (i=2; i=n/2; i++) {
if (n%i == 0) { //如果i是n的因数
f = true;
for (int j=2; j=i/2; j++) { //判断i是不是素数
if (i%j == 0) {
f = false;
break;
}
}
if (f) {
if (s) { //如果不是第一次打印
System.out.print("*" + i);
} else { //如果是第一次打印
System.out.print(i);
s = true;
}
n /= i;
break;
}
}
}
if (i n/2) {
break;
}
}
System.out.println("*" + n + "=" + m);
}
}
}
您好,代码如下,望采纳~~~
import java.util.*;
public class App
{
public static void main(String[] args)
{
int n,i=2;
Scanner read=new Scanner(System.in);
System.out.print("输入n(n1):");
n=read.nextInt();
System.out.print(n+"=");
while(true)
{
while(inn%i==0)
{
System.out.print(i+"*");
n/=i;
}
if(i==n)
break;
i++;
}
System.out.println(i);
}
}
import java.util.Scanner;
public class Try
{
static boolean is_odd(int n)
{
if(n==2||n==3) return true;
if(n%2==0) return false;
int i;
for(i=3;i=n/2;i+=2)
if(n%i==0) return false;
return true;
}
public static void main(String[] args)
{
Scanner in=new Scanner(System.in);
System.out.println("输入数值");
int n=in.nextInt();
int i;
System.out.print(n+"=");
for(i=2;i=n;i++)
{
if(!is_odd(i)) continue;
if(n%i==0)
{
while(true)
{
System.out.print(i);
n/=i;
if(n!=1) System.out.print("*");
if(n%i!=0) break;
}
}
}
System.out.println();
}
}
要给分啊!!!
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int num=40;//测试数据,你也可以用Scanner获取输入数据,但是为了方便
for(int i=2;i=num;i++){
while(num!=i){
if(num%i==0){
System.out.println("质因数是:"+i);
num=num/i;
}
else
break;
}
}
System.out.println("质因数是:"+num);
}
}
按照你的要求编写的Java程序如下:
import java.util.Scanner;
public class CCT{
public static void f(int n,int m){
int i=2;
if(n2)return;
while(!(n%i==0)){
i++;
}
if(m==1)System.out.print(i);
else System.out.print("*"+i);
f(n/i,m-1);
return;
}
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int n=sc.nextInt();
System.out.print(n+"=");
f(n,1);
System.out.println();
}
}
运行结果:
90
90=2*3*3*5
将一个正整数分解质因数。例如:输入60;打印出2*3*5*2
算法实现构思:
1、用Scanner实现输入一个正整数n
2、用一个for循环遍历一个从 k=2开始查找到k=n的数
3、如果 n%k==0的时候,输出k的值
4、然后把n的值递归一下,即 n=n/k
5、这个时候要把for循环重新执行,即再定义k=2
下面是实现代码:
下面是运行结果
上面是后来整理的构思以及代码实现,一开始拿到这个题目,就立马去做了,可是马上掉进了各种各样的坑,我觉得以后做算法题先把做题思路想好,从部分到整体,不然一道简单的算法题就要耗掉很多时间。
参考资料
CSDN.CSDN[引用时间2018-1-5]