JAVA中怎么用开方法(sqrt()函数)求素(质)数?
1、第一步:先用Scanner赋值语句对要求的整数段进行定位。
Scanner in=new Scanner(System.in);//Scanner赋值语句标准格式
int x;//随便定义一个整数值来装定位值
System.out.println(" 请输入要求的素数范围:");//加入一个提示语句
x=in.nextInt();//从键盘输入定位值到x中
System.out.println(" 1到"+x+"内的素数有:");//加入一个提示语句
2、第二步:双重for循环与开方函数结合求素数。
int i,n;//定义两个整型变量
for(i=2;i<=x;i++)//外层for循环到x才停止
{
for(n=2;n<=(int)Math.sqrt(i);n++)
//核心语句:内层变量<=(int)Math.sqrt(外层变量)
{
if(i%n==0)
break;
//筛除合数
}
if(n>(int)Math.sqrt(i))//判断是否为素数
System.out.print(" "+i);//输出素数
}
3、完整程序展示:
import java.util.*;
public class Chord {
public static void main(String args[]){
Scanner in=new Scanner(System.in);
int x;
System.out.println(" 请输入要求的素数范围:");//加入一个提示语句
x=in.nextInt();
System.out.println(" 1到"+x+"内的素数有:");
int i,n;
for(i=2;i<=x;i++)
{
for(n=2;n<=(int)Math.sqrt(i);n++)
//核心语句:内层变量<=(int)Math.sqrt(外层变量)
if(i%n==0)break;
if(n>(int)Math.sqrt(i))
System.out.print(" "+i);//s
}
}
}
