当前位置:首页 » 编程语言 » java素数算法

java素数算法

发布时间: 2025-10-07 01:37:59

⑴ 用java写个程序 判断 用户输入的数 是否是质数

使用java编写判断自然数是否为素数的方式是,使用scanner来接受用户输入的数值,使用素数的算法,实例如下:

Scannersr=newScanner(System.in);
System.out.print("请输入a的值:");
inta=sr.nextInt();
booleanis=true;
if(a<1)
{
System.out.println(a+"不是质数,因为他小于一");
}
else
{
List<Integer>list=newArrayList<Integer>();
for(inti=2;i<a;i++)
{
if(a%i!=1&&a%i!=a)
{
if(a%i==0){
is=false;
list.add(i);
}
}
}
if(is){
System.out.println("a是质数");
}else{
Stringyz="";
for(inti=0;i<list.size();i++)
{
if(yz=="")
{
yz=yz+list.get(i);
}else{
yz=yz+","+list.get(i);
}
}
System.out.println("a不是质数,因为他含有因子"+yz);
}
}

⑵ 用java找出1到100的素数,并求和

intsum=0;
for(inti=2;i<=100;i++){//质数
for(intk=2;k<=i;k++){//除数
//排除所有在i=k之前能被k整除(余数为0)的数
if(i%k==0&&i!=k){
break;
}
//输出所有在i=k且i%k=0的数
if(i%k==0&&i==k){
System.out.println(i);
sum+=i;
}
}
}
System.out.println("sum="+sum);

思路:先说什么是素数。除了1和它本身以外不再有其他的因数就是素数。所以你要做的就是对于一个整数i,让他和比他小的正整数取余数,如果为0的话就肯定不是素数了。如果都不为0且最后只有他本身那么这个数就是素数了。看上面循环,直接从2开始就刨除了1,不然判断条件里面还得写1的判断

热点内容
沈阳cs服务器ip 发布:2025-10-07 03:46:06 浏览:339
我的世界ice服务器被炸的谣言 发布:2025-10-07 03:31:31 浏览:195
svnadd文件夹 发布:2025-10-07 03:25:16 浏览:337
怎么找到传奇服务器ip 发布:2025-10-07 03:25:16 浏览:221
androidlistview监听滑动 发布:2025-10-07 03:22:13 浏览:637
android分享微博 发布:2025-10-07 03:20:59 浏览:994
大屏导航怎样清除缓存 发布:2025-10-07 03:20:59 浏览:109
txt换行符php 发布:2025-10-07 03:17:13 浏览:924
linux查看mysql是否启动 发布:2025-10-07 03:16:39 浏览:96
访问的页面正在升级 发布:2025-10-07 02:56:48 浏览:554