| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 474 人关注过本帖
标题:急!!麻烦大虾们 帮我看下程序 自己写 却掉入了无限循环当中
只看楼主 加入收藏
风影空
Rank: 1
等 级:新手上路
帖 子:73
专家分:2
注 册:2009-7-23
结帖率:75%
收藏
已结贴  问题点数:20 回复次数:1 
急!!麻烦大虾们 帮我看下程序 自己写 却掉入了无限循环当中
当w的w次方等于w的mod(n)时  就输出!!

import java.math.BigInteger;
import java.util.Scanner;
public class cSong {
   

        public static void main(String[] args) {
            
            for(int j=0;j<100;j++){
             Scanner reader=new Scanner(System.in);
             System.out.println("Please input n:");
             BigInteger n=new BigInteger(reader.next());
             BigInteger a=new BigInteger("1");
             BigInteger b=a;
             BigInteger w = b;
             if(isPrime(n.intValue())){
               
                 for(w=a;w.intValue()<n.intValue();w.add(a)){
                     
                     BigInteger m;
                    m=w.pow(w.intValue());
                    
                 if(m.equals(w.divideAndRemainder(n))){
                     System.out.println(w+"的"+w+"幂次方"+"="+w+"mod"+n);
                 }
                 }
             }else {
                System.out.println("n不是素数");
             }
    }
}
        public static boolean isPrime(int n)
        {
            if(n < 2) return false;

            for(int i = 2; i < n; ++i)
                if(n%i == 0) return false;
            return true;
        }
}
搜索更多相关主题的帖子: public import 
2011-01-16 15:40
qq1023569223
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:湖南科技大学
等 级:贵宾
威 望:26
帖 子:2753
专家分:13404
注 册:2010-12-22
收藏
得分:20 
import java.math.BigInteger;
import java.util.Scanner;
public class cSong
{
    public static void main(String[] args)
        {
            for(int j=0;j<100;j++)
            {
             Scanner reader=new Scanner(System.in);
             System.out.println("Please input n:");
             BigInteger n=new BigInteger(reader.next());
             BigInteger a=new BigInteger("1");
             BigInteger b=a;
             BigInteger w = b;
             if(isPrime(n.intValue()))
                {
                   for(w=a;w.intValue()<n.intValue();w.add(a))
                  {
                    BigInteger m=new BigInteger("0");
                    m=w.pow(w.intValue());
                    if(m.equals(w.divideAndRemainder(n)))
                     {
                     System.out.println(w+"的"+w+"幂次方"+"="+w+"mod"+n);
                     }
                 }
             }else
               {
                System.out.println("n不是素数");
               }
        }
      }
        public static boolean isPrime(int n)
        {
            if(n < 2) return false;

            for(int i = 2; i < n; ++i)
                if(n%i == 0) return false;
            return true;
        }
}

   唯实惟新 至诚致志
2011-01-16 18:14
快速回复:急!!麻烦大虾们 帮我看下程序 自己写 却掉入了无限循环当中
数据加载中...
 
   



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

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