java编程,判断n不是质数,循环让n除以n一半以下的数,有余数就不是质数,没有就是质数,方法如下:
public class TestA {
public static void main(String[] args){
//定义一个数
int n=101;
//遍历这个数的n/2+1次,除以n一半以下的数都除不尽就是质数
for(int x=2;x<=(n/2+1);x++){
//n%x取余等于0就不是质数,则退出循环
if(n%x==0){
Systemoutprintln(n+"不是质数!");
break;
}
//x等于最大值,可知n是质数
if(x==(n/2+1)){
Systemoutprintln(n+"是质数!");
}
}
}
}
结果:101是质数!
基本思想:把m作为被除数,将2—INT()作为除数,如果都除不尽,m就是素数,否则就不是。
可用以下程序段实现:
voidmain()
{intm,i,k;
printf("pleaseinputanumber:\n");
scanf("%d",&m);
k=sqrt(m);
for(i=2;i<k;i++)
if(m%i==0)break;
if(i>=k)
printf("该数是素数");
else
printf("该数不是素数");
}
将其写成一函数,若为素数返回1,不是则返回0
intprime(m%)
{inti,k;
k=sqrt(m);
for(i=2;i<k;i++)
if(m%i==0)return0;
return1;
}
扩展资料:
100->200之间的素数的个数,以及所有的素数
#include<stdioh>
#include<mathh>
intmain()
{
inta,m,k,i;
a=0;
for(i=101;i<=200;i++)
{
for(k=2;k<i;k++)
if(i%k==0)break;
if(k>=i)
a++;
}
printf("%d\n",a);
for(i=101;i<=200;i++)
{
for(k=2;k<i;k++)
if(i%k==0)break;
if(k>=i)
a++;
if(k>=i)
printf("%d",i);
}
printf("\n");
return0;
}
#include<stdioh>
#include <mathh>
void main()
{ int zhi(int);
int j=0,b[20]={1,3,7,9},a[20]={2,3,5,7},c,l=4,d[20],n,g=0,h=0,i,N,s=10,z,f;
scanf("%d",&N);
for(i=1;i<=N-1;i++)
{
for(j=0;j<l;j++)
{
n=a[j]s;
f=n;
for(h=0;h<4;h++)
{ n=n+b[h];
c=zhi(n);
if(c==1)
d[++g]=n;
n=f;
}
}
for(j=0;j<g;j++)
a[j]=d[j+1];
l=g,z=g,g=0;
}
if(N==1)
printf("2\n3\n5\n7\n");
else
for(j=1;j<=z;j++)
printf("%d\n",d[j]);
}
int zhi(int m)
{ int k,i,c=0;
k=(int)sqrt(m);
for(i=2;i<=k;i++)
if(m%i==0)break;
if(i>k) c=1;
return c;
}
int main()
{
int a=0,num=0;
scanf("%d",&num);
for(int i=2;i<num;i++)
{ if(num%i==0){
a++;
}
}
if(a==0){
printf("此数是质数。");}
else {printf("此数不是质数。");}
return 0;
}
以上就是关于用JAVA编写程序:“判断n是不是质数”全部的内容,包括:用JAVA编写程序:“判断n是不是质数”、判断素数的c语言程序是什么、c语言判断质数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)