编写两个函数,一个函数判断某个数m是否是素数,一个函数判断m是否是n的因子

编写两个函数,一个函数判断某个数m是否是素数,一个函数判断m是否是n的因子(通过函数的返回值来进行判断。m,n是整数且1<m<n。)。通过这两个函数来输出任一大于1的整数n的所有素数因子,如果n是素数,输出“It is a prime number.”

1. 是否为素数:
public static boolean isPrime(int a) {  
        boolean flag = true;  
        if (a < 2) {// 素数不小于2  
            return false;  
        } else {    
            for (int i = 2; i <= Math.sqrt(a); i++) {  
                if (a % i == 0) {// 若能被整除,则说明不是素数,返回false  
                    flag = false;  
                    break; 
                }  
            }  
        }  
        return flag;  
    }
  
  2.是否是因子
  public static bollean isYz(int a,intb){
    return (a % b == 0) ? true : false;
  }

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-12-16
#include<stdio.h>
#include<math.h>

int isprime(int n)//判断整数n是否为素数
{
int i;
for(i=2; i<=sqrt(n); i++)
{
if(n%i == 0)
{
return 0;
}
if(i>sqrt(n))
{
return 1;
}
}
return 1;
}

int main()
{
int i,m;
printf("输入整数m:");
scanf("%d",&m);
for(i=2; i<=sqrt(m); i++)
{
if(m%i == 0)
{
if(isprime(i))
{
printf("%d ",i);
m /= i;
i = 1;
}

}

}
if(i>sqrt(m))
{
printf("%d ",m);
}
return 0;
}
回复:

k=x;n":\),i);.h>
x=x/,k;i++)
if(x%i==0)
{
printf("
while(scanf("n"),&x))
{
printf("
printf(",i;n"stdio;请输入;);请输入;n":\
}
printf("%d"
main()
{
int x;%d "
if(x==0)
break;分解质因数:\k;
printf(";);i<
for(i=2;\i--/参考下~~
#include </
回复:

/ /math;n is prime"/,isprime(n));k)
return "%d"n is not prime"/ /
scanf(",&n),改%s
}

char* isprime(int m) //.h>#include<逗号改分号
if(m%i==0)
break;改char *
{
int i;i< //去掉int;
if(i>.h>

void main()
{
char* isprime(int m);i++) /改char *
int n;
#include<// //return改printf
else
return "int加括号
for(i=2;改逗号
printf(",k;%s" /;去掉m
k=(int)sqrt(m);=k; /stdio;
回复:

k1=sqrt(m);
for(k=2;:%5ld\,&i););
}

main()
{
long i;
else printf("n"
#include<#include<k<k++)
if(m%k==0){n=0;%d"=k1;n"math;YES 素数是;
int fun(long m)
{int n=1;NO\}
return(n);.h>,i);break;
if(fun(i)) printf(",k1;
scanf(",k.h>stdio本回答被提问者和网友采纳