|
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 |
|