本帖最后由 沿途小将 于 2014-8-15 18:31 编辑
试题链接:王老师11期技术分题目
活动目的:练习javaSE知识。 活动奖励:最高2个技术分 结束时间:2014年8月18日,过期提交可能获取不到技术分! 代码提交要求:将自己的源代码压缩然后提交,提交的时候设置为管理员权限,以其他方式提交的答案无效。上交源码的时候不需要将整个工程项目压缩,只需将用到的源文件压缩即可。 题目类型:JavaSE 算法题。 难易程度:容易
这题不会太难,只是有个技巧,可以让代码更少些(纯属个人认为,莫见怪!)。 思路:这是一个求一段数中的所有质数。而且提示了质数有两个特点(只能被1和自己整除),所有我可以用for循环(循环语句都可)让这个数(假设为X)对1到他自己(X)取余,余数等于零则可整除。当余数等于零的个数为二时,该数为质数。其他的为细节,如X的取值范围啦。 我的代码如下: - import java.util.*;
- public class Test11 {
- int shu = 0;
- public static void main(String[] args) {
- new Test11().GetPrime();
- }
- public Test11() {
- System.out.println("请输入一个大于1且小于500的整数");
- Scanner sc = new Scanner(System.in);
- shu = sc.nextInt();
- }
- public void GetPrime() {
- if (shu < 500 && shu > 1) {
- for (int i = 1; i <= shu; i++) {
- int time = 0;
- for (int j = 1; j <= i; j++) {
- if ((i % j) == 0) {
- time++;
- }
- }
- if (time == 2) {
- System.out.println(i);
- }
- }
- } else {
- System.out.println("你输入的数不合要求!");
- }
- }
- }
复制代码
有误处,请多指正! |