答案 0 :(得分:5)
Ben,看起来你正在尝试的东西远远超出你目前的能力。从一些更简单的问题开始。与您的老师交谈并考虑采取更基本的课程。您似乎不了解程序应该做什么,或者如何编写可能满足要求的程序,我们在这里所说的任何内容都无法克服这一点 - 您必须对数学和编程有更多的理解。我们很乐意为您提供帮助,但只是在这里编写您的程序对您没有帮助,而且您距离提供帮助的建议的解决方案太远了。如果这听起来很刺耳,我很抱歉;老实说,我的意思是建设性的。请留下来 - 但开始更简单。
答案 1 :(得分:3)
您的示例解决方案根本不符合问题的规范。您应该首先关注编写static boolean isPrime(int m, int[] P)
方法。所有这些方法都需要:
P
m
,则m
为复合元素 - 返回false
m
,则m
为素数 - 返回true
。这听起来像是问题描述,这不会发生,P
只会在穿越sqrt(m)
边界之前只有从2到1的素数P
的所有元素都经过测试,则m
为素数 - 返回true
之后你可以编写main
来制作素数数组并使用描述的循环构建它,最后进行参数检查并实现static void Usage()
函数,如果参数无效则调用