当满足条件b%j!=0&&a%i!=0时,有可能出现两数可以被其他数整除。例如a为10不被3整除,b为12不被5整除。
修改方法:
通过先计算一定数量的素数,放在一个数组中,然后从小到大遍历,若是n-a=b,若a和b都在数组中,则满足题目条件。
扩展资料
素数计算代码
Scanner input = new Scanner(System.in);
System.out.print("Find all prime numbers <= n, enter n: ");
int n = input.nextInt();
boolean[] primes = new boolean[n + 1]; // Prime number sieve
for (int i = 0; i < primes.length; i++) {// Initialize primes[i] to true
primes[i] = true; }
for (int k = 2; k <= n / k; k++) {
if (primes[k]) {
for (int i = k; i <= n / k; i++) {
primes[k * i] = false; // k * i is not prime}}}
final int NUMBER_PER_LINE = 10; // Display 10 per line
int count = 0; // Count the number of prime numbers found so far
// Print prime numbers
for (int i = 2; i < primes.length; i++) {
if (primes[i]) {count++;
if (count % 10 == 0)
System.out.printf("%7d\n", i);else
System.out.printf("%7d", i);}}
System.out.println("\n" + count + " prime(s) less than or equal to " + n);
素数分布规律
以36N(N+1)为单位,随着N的增大,素数的个数以波浪形式渐渐增多。
性质
质数具有许多独特的性质:
(1)质数p的约数只有两个:1和p。
(2)初等数学基本定理:任一大于1的自然数,要么本身是质数,要么可以分解为几个质数之积,且这种分解是唯一的。
(3)质数的个数是无限的。
参考资料来源:百度百科-质数
首先素数的定义是 只有1和本事两个约数
而你写的是if(b%j!=0&&a%i!=0) {}
这是啥?找到一个就是素数了?那我问你10是素数吗?那10%3是不是不为0?
不知道你写的是什么逻辑 乱七八糟的
你还是把原来需要填空的地方标出来