如果不转换成字符串的话
形如以 2 开头, 之后跟任意多个 3 的十进制整数而且是个素数, 则它是猫扑素数. 如 2, 23, 233, 2333, 23333 都是猫扑素数, 而 233333 则不是, 它可以分解为 353 x 661.
各位有没有好的思路?
![]() | 1 des OP 我的思路是先 log10 判断位数,再判断( input -( input mod 10^n )) mod 10^n 最后判断是否是素数 |
2 statm 2015-08-20 08:09:29 +08:00 |
5 statm 2015-08-20 08:18:15 +08:00 via iPhone @des 这个只检查猫扑数。素数的代码一搜一大堆。 boolean isMopNumber (int i ) { if (i < 10 ) return i == 2; else return (i % 10 == 3 ) && isMopNumber (i / 10 ); } |
6 chunk 2015-08-20 09:16:12 +08:00 有意思,顶贴 |
![]() | 7 wangjie 2015-08-20 09:28:46 +08:00 function is 猫扑素数($int ) { for ($i=0;$<$int;$i+=1 ) { } } |
![]() | 8 wangjie 2015-08-20 09:41:02 +08:00 按空格就发出来了 QAQ 好二啊 |
![]() | 9 aheadlead 2015-08-20 10:02:44 +08:00 |
![]() | 12 zhengnanlee 2015-08-20 10:16:07 +08:00 @aheadlead 太笨了吧用那个算法。。 2333 应该很有规律 |