解题思路: 字符串与2进制
注意事项: 内码的32位的表示
参考代码:
import java.math.BigInteger; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in=new Scanner(System.in); int cnt=0; while(in.hasNext()) { BigInteger n =in.nextBigInteger(); String tmp =n.toString(2); //转化为2进制串 int len=tmp.length(); if(tmp.length()<32) { for(int i=1;i<=32-len;i++) tmp="0"+tmp; //转化为32位内码 } String rev =new StringBuffer(tmp).reverse().toString(); if(tmp.equals(rev)) cnt++; } System.out.println(cnt); in.close(); } }
0.0分
0 人评分