| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 765 人关注过本帖
标题:本人新手问个问题
只看楼主 加入收藏
疯狂的小草
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2007-7-24
收藏
 问题点数:0 回复次数:6 
本人新手问个问题
老师让 判断 一个数是不是质数  我就这么写了
import java.util.Scanner;

public class s1 {

    public static void main(String[] args) {
         Scanner input = new Scanner(System.in);
         System.out.println("输入一个数:");
         int a = input.nextInt();    
        if((a%a==0 && a%1==0 )|| (a%2!=0&&a%3!=0&&a%4!=0)){
             System.out.println("是质数");
            
         }else{
             System.out.println("不是");
     
         }
        }
    }

永远都是 质数是为什么呢  请详细说明下 谢谢!!
搜索更多相关主题的帖子: public import 
2008-07-18 10:10
zhangran1789
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2008-6-13
收藏
得分:0 
回复 1# 疯狂的小草 的帖子
a%a==0 && a%1==0
这个条件对于任何整数都成立
质数的 定义是只能被自己和1整除的数
你的算法有问题
2008-07-18 14:34
疯狂的小草
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2007-7-24
收藏
得分:0 
  那应该怎么改啊
2008-07-18 19:38
aipb2007
Rank: 8Rank: 8
来 自:CQU
等 级:贵宾
威 望:40
帖 子:2879
专家分:7
注 册:2007-3-18
收藏
得分:0 
if((a%a==0 && a%1==0 )|| (a%2!=0&&a%3!=0&&a%4!=0)){
             System.out.println("是质数");

显然是错的。

判断一个数a是不是素数,最直接的做法是
从2—a-1的数依次做除数,与a相除,若都除不尽,那a就是个素数。

其他还有很多算法用于判断素数,效率均比上面这个优。

Fight  to win  or  die...
2008-07-19 18:46
hurtsky
Rank: 1
等 级:新手上路
帖 子:90
专家分:0
注 册:2008-7-10
收藏
得分:0 
算法问题,你不明白如何才能判断一个数是质数。可能是你对质数不太了解。
2008-07-20 19:20
love297
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2008-4-17
收藏
得分:0 
呵呵 我来帮你哦
来的晚啊
        不管了

  import java.util.*;
public class ZhiShu{
public static void main(String args[]){
        Scanner input = new Scanner(System.in);
        double panduan = 0;
        int na = 0;
        double k = 0;
        //判断是不是质数的方法:
        //number 分别与 从 2 到number - 1 的数相除
        //如果 相除的结果 都!=0 那他就 是质数
        //只要有一个 ==0 那他就 不是质数
        System.out.println("请输入一个数:");
        int number = input.nextInt();
        for(int i  = 2;i<number;i++){
            panduan = number % i;
            for(int j = 1;j<=i;j++){
                if(panduan==0){
                    System.out.println(number + "不是质数");
                    break;
                }else {
                    System.out.println(number + "是质数");
                    break;
                }
            }
            break;
            
        }
    }
}
2008-07-25 05:46
love297
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2008-4-17
收藏
得分:0 
不好意思
  有两个变量没用上
  忘改了  
   还有 只判断 > 2的数哦
2008-07-25 05:48
快速回复:本人新手问个问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016380 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved