java在素数数组中查找特定数
我试图在Java中找到具有特定条件的素数
挑战在于将包含“3”的所有素数(100.000以下)显示四次。 我已经有了一个显示100.000以下所有素数的代码,但我似乎不知道如何将包含数字“3”的素数数四次。 然而,我能数清所有的素数
有人能帮我吗
这是我的代码,我要把数字放到哪里
package Proeftentamen;
import java.util.regex.*;
/**
*
* @author Stefan
*/
public class Vraag_6 {
/// priemgetallen waar 4x een 3 in voor komt???? wtf...
public static void main(String[] args) {
boolean[] lijst = new boolean[1000000]; // hoeveelheid getallen
vularray(lijst);
lijst = zeef(lijst);
drukaf(lijst);
}
public static void vularray(boolean[] lijst) {
for (int i = 2; i < lijst.length; i++) {
lijst[i] = true;
}
}
public static boolean[] zeef(boolean[] lijst) {
for (int i = 2; i < lijst.length / 2; i++) {
if (lijst[i]) {
for (int j = 2 * i; j < lijst.length; j += i) {
lijst[j] = false;
}
}
}
return lijst;
}
public static void drukaf(boolean[] lijst) {
int count = 0;
for (int i = 2; i < lijst.length; i++) {
if (lijst[i] == true) {
System.out.println(i + " " + lijst[i]);
count++;
}
}
System.out.println("Aantal priemgetallen: " + count);
}
}
# 1 楼答案
此代码生成50个数字排列,其数字中有四个“3” 所以,检查每个数是否为素数
# 2 楼答案
最多只能有五位数字,其中四位必须是3。那么,关于剩余的数字,你能说些什么呢
手工写出结果数字,然后测试每个数字的素性并不难。由于要测试的数字不超过50个,即使是最简单的按赔率划分的试验也可以
但是如果你想以编程的方式生成数字,只需使用5个循环:将
10,000
添加到03333
9次;将1,000
添加到30333
9次;将100
添加到33033
9次;等等,在C++中:# 3 楼答案
请参考下面的代码来验证所有这些
prime numbers
# 4 楼答案
除非素数字符串数组有其他用途,否则不要麻烦将它们存储在循环之外的任何地方
# 5 楼答案
使用Sieve of Eratosthenes上的练习中的} 和^{} 函数,此Scheme表达式可以找到七种解决方案:
primes
函数,以及Standard Prelude中的^{外部过滤器运行在所有小于100000的素数上,并对每个素数应用外部lambda测试。内部过滤器计算每个素数的位数,只保留3,然后长度函数对它们进行计数,等式谓词只保留那些有4个3的。您可以运行该程序并在http://codepad.org/e98fow2u处查看解决方案
# 6 楼答案
这个问题听起来像是一个家庭作业,所以你应该写下你想到了什么,以及你到目前为止尝试了什么
数数的方法有很多。为了给您一个提示,您可以使用提醒操作(在Java中)
%
:所以,当你除以10并使用提醒操作时,你可以得到你号码的最后一位。现在用一个循环和计数器,你会没事的
另一个选项(非常难看,所以不要真的使用它:)-把你的数字变成一个
String
并在它的字符上迭代(循环)希望这对你有所帮助,祝你好运