所谓素数就是指相邻两个奇数均为素数,
判断一个数是否为素数的基本方法是:(以n=5为例)
package com.cdp.SuShu; public class sushujisuan { public static void main(String[] args) { // TODO Auto-generated method stub int n = 5; boolean flag = isPrime(n); System.out.println(isPrime(n)); } // 判断一个数是否为素数的方法:返回true表示是素数,返回false表示不是苏数 private static boolean isPrime(int n) { // TODO Auto-generated method stub boolean flag = true; for (int i = 2; i < n; i++) { if (n % i == 0) { flag = false; break; } } return flag; }a }
其返回值为true。
类似的,我们再来用Java编写出一个程序找出100~1000之间的素数:
package com.cdp.SuShu; public class sushu { public static void main(String[] args) { // TODO Auto-generated method stub for (int i = 101; i < 1000; i = i + 2) { // isPrime(i)判断i是否为素数 // 判断isPrime(i+2)与i相邻的奇数是否为素数 if (isPrime(i) && isPrime(i + 2)) { System.out.println((i) + "和" + (i + 2) + "是姐妹素数"); } } } // 判断一个数是否为素数的方法:返回true表示是素数,返回false表示不是苏数 private static boolean isPrime(int n) { // TODO Auto-generated method stub boolean flag = true; for (int i = 2; i < n; i++) { if (n % i == 0) { flag = false; break; } } return flag; } }
run:
101和103是姐妹素数 107和109是姐妹素数 137和139是姐妹素数 149和151是姐妹素数 179和181是姐妹素数 191和193是姐妹素数 197和199是姐妹素数 227和229是姐妹素数 239和241是姐妹素数 269和271是姐妹素数 281和283是姐妹素数 311和313是姐妹素数 347和349是姐妹素数 419和421是姐妹素数 431和433是姐妹素数 461和463是姐妹素数 521和523是姐妹素数 569和571是姐妹素数 599和601是姐妹素数 617和619是姐妹素数 641和643是姐妹素数 659和661是姐妹素数 809和811是姐妹素数 821和823是姐妹素数 827和829是姐妹素数 857和859是姐妹素数 881和883是姐妹素数