Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 780|回复: 0

C语言趣味程序百例精解之JAVA实现(32)可逆素数

[复制链接]

该用户从未签到

发表于 2011-9-18 18:35:49 | 显示全部楼层 |阅读模式
C语言趣味程序百例精解之java实现(32)可逆素数

程序:

public class Test32{
    public static void main(String args[]){
         new Test32().KeNiSuShu();
    }
    /**  
     * 32.可逆素数,反序数  
     */  
    public void KeNiSuShu() {   
        int count=1;
        for (int i = 1000; i < 10000; i++) {   
            if (isSuShu(i) && isSuShu(FanXuShu(i)))   
                System.out.printf(count%7!=0? "%3d: %d  ":"%3d: %d\n",count++,i);
        }   
  
    }   
  /**  
     * 是素数  
     */  
    public boolean isSuShu(int n) {   
        boolean isSuShu = true;   
        if (n == 1 || n == 2)   
            return true;   
        for (int i = 2; i < Math.sqrt(n) + 1; i += 1) {   
            if (n % i == 0) {   
                return false;   
            }   
        }   
        if (isSuShu == true)   
            return true;   
        else  
            return false;   
    }   
    /**  
     * 反序数  
     */  
    public int FanXuShu(int n) {   
        int len = getBitCount(n);   
        int s = 0;   
        for (int i = 1; i < len + 1; i++) {// 123   
            s += Math.pow(10, len - i) * getThe(n, i);   
        }   
        return s;   
    }   
   
   /**  
     * 获取一个数的位数  
     */  
    public int getBitCount(int n) {   
        int i = 1;   
        while (n / 10 > 0) {   
            i++;   
            n /= 10;   
        }   
        return i;   
    }   
  
   
    /**  
     * 获取N位数第i位  
     */  
    public int getThe(int num, int i) {   
        if (i > getBitCount(num) || i < 1)   
            return -1;   
        return (num % ((int) Math.pow(10, i))) / (int) Math.pow(10, i - 1);   
    }   
}
运行:
C:\bat>java    Test32
  1: 1009    2: 1021    3: 1031    4: 1033    5: 1061    6: 1069    7: 1091
  8: 1097    9: 1103   10: 1109   11: 1151   12: 1153   13: 1181   14: 1193
15: 1201   16: 1213   17: 1217   18: 1223   19: 1229   20: 1231   21: 1237
22: 1249   23: 1259   24: 1279   25: 1283   26: 1301   27: 1321   28: 1381
29: 1399   30: 1409   31: 1429   32: 1439   33: 1453   34: 1471   35: 1487
36: 1499   37: 1511   38: 1523   39: 1559   40: 1583   41: 1597   42: 1601
43: 1619   44: 1657   45: 1669   46: 1723   47: 1733   48: 1741   49: 1753
50: 1789   51: 1811   52: 1831   53: 1847   54: 1867   55: 1879   56: 1901
57: 1913   58: 1933   59: 1949   60: 1979   61: 3011   62: 3019   63: 3023
64: 3049   65: 3067   66: 3083   67: 3089   68: 3109   69: 3121   70: 3163
71: 3169   72: 3191   73: 3203   74: 3221   75: 3251   76: 3257   77: 3271
78: 3299   79: 3301   80: 3319   81: 3343   82: 3347   83: 3359   84: 3371
85: 3373   86: 3389   87: 3391   88: 3407   89: 3433   90: 3463   91: 3467
92: 3469   93: 3511   94: 3527   95: 3541   96: 3571   97: 3583   98: 3613
99: 3643  100: 3697  101: 3719  102: 3733  103: 3767  104: 3803  105: 3821
106: 3851  107: 3853  108: 3889  109: 3911  110: 3917  111: 3929  112: 7027
113: 7043  114: 7057  115: 7121  116: 7177  117: 7187  118: 7193  119: 7207
120: 7219  121: 7229  122: 7253  123: 7297  124: 7321  125: 7349  126: 7433
127: 7457  128: 7459  129: 7481  130: 7507  131: 7523  132: 7529  133: 7547
134: 7561  135: 7577  136: 7589  137: 7603  138: 7643  139: 7649  140: 7673
141: 7681  142: 7687  143: 7699  144: 7717  145: 7757  146: 7817  147: 7841
148: 7867  149: 7879  150: 7901  151: 7927  152: 7949  153: 7951  154: 7963
155: 9001  156: 9011  157: 9013  158: 9029  159: 9041  160: 9103  161: 9127
162: 9133  163: 9161  164: 9173  165: 9209  166: 9221  167: 9227  168: 9241
169: 9257  170: 9293  171: 9341  172: 9349  173: 9403  174: 9421  175: 9437
176: 9439  177: 9467  178: 9479  179: 9491  180: 9497  181: 9521  182: 9533
183: 9547  184: 9551  185: 9601  186: 9613  187: 9643  188: 9661  189: 9679
190: 9721  191: 9749  192: 9769  193: 9781  194: 9787  195: 9791  196: 9803
197: 9833  198: 9857  199: 9871  200: 9883  201: 9923  202: 9931  203: 9941
204: 9967
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

GMT+8, 2025-1-10 22:42 , Processed in 0.295262 second(s), 37 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表