多语言展示
当前在线:1959今日阅读:27今日分享:41

JAVA中怎么用开方法(sqrt()函数)求素(质)数?

JAVA中,用开方法计算出1到任意整数段的素数,这利用了一个定义:如果一个数不是素数且不等于1,那么它的最小质因数小于等于他的平方根。
工具/原料
1

电脑一台

2

Eclipse

方法/步骤
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 } } }

注意事项
1

*使用Scanner赋值语句别忘了头文件: import java.util.*;

2

*求值范围的大小跟定义类型有关。

推荐信息