第一题这样可能会更好一点 Scanner sc = new Scanner(System.in); int N = sc.nextInt(); int result64 = 0; int result16 = 0; int result4 = 0; int total = 0; N = 1024 - N; while(N>64){ result64 += N>>6; N-=result64*64; } while(N>16){ result16 += N>>4; N-=result16*16; } while(N>4){ result4 += N>>2; N-=result4*4; } total = result64+result16+result4+N; System.out.println(total);