分解素数JAVA要求用 函数

分解素数JAVA要求用 函数,第1张

import java.util.Scanner

public class Test

{

static boolean is_odd(int n)//是否为素数

{

if(n==2||n==3) return true

if(n%2==0) return false//素数肯定不是偶数

int i

for(i=3i<=n/2i+=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=2i<=ni++)

{

if(!is_odd(i)) continue//如森伏橡果i不是素此旁数,则i++,进行下一次循环

if(n%i==0)

{

while(true)//如果n%i一直 ==0则一直分解,否则跳出,i++

{

System.out.print(i)

n/=i

if(n!=1) System.out.print("*")

if(n%i!=0) break

}

}

}

System.out.println()

}

}

#include<stdio.h>

#include<stdlib.h>

int a,b

int isprime(int n)

void recurPrintFactor(int n)

int main(void)

{

printf("please input two integers:\n"迹亮腊键带)

scanf("%d%d",&a,&b)

printf("The result is:\n")

for(a<=ba++)

recurPrintFactor(a)

system("PAUSE")

return 0

}

void recurPrintFactor(int n)

{

int m=2

printf("%d=",a)

if(isprime(n)==1)

printf("%d",n)

else

{

while(m<=n)

{

while(n%m==0)

{

printf("姿滑%d*",m)

n/=m

}

m++

}

}

printf("\b \n")

}

int isprime(int n)

{

int i=2,g=1

while(g)

{

for(i<ni++)

{

if (n%i==0)

{

g=0break

}

}

break

}

return g

}

这样就对了,原来的程序有逻辑上的错误,给输出带来很大麻烦。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12303671.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存