参考代码:
import java.util.Scanner; public class Main { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub /*给定L,R。统计[L,R]区间内的所有数在二进制下包含的“1”的个数之和。 如5的二进制为101,包含2个“1”。*/ Scanner scanner=new Scanner(System.in); int a=scanner.nextInt(); int b=scanner.nextInt(); int sum=0; for (int i = a; i <=b; i++) { String s = Integer.toBinaryString(i);//将十进制数转成字符串 for (int j = 0; j < s.length(); j++) { if (s.charAt(j)=='1') { sum++; } } } System.out.println(sum); } }
0.0分
1 人评分
剔除相关数 (C语言代码)浏览:1008 |
C语言程序设计教程(第三版)课后习题8.1 (C语言代码)浏览:438 |
简单的a+b (C语言代码)浏览:681 |
简单的a+b (C语言代码)浏览:523 |
哥德巴赫曾猜测 (C语言代码)浏览:2316 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:463 |
C语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:509 |
【计算直线的交点数】 (C语言代码)浏览:916 |
C语言程序设计教程(第三版)课后习题10.3 (C语言代码)浏览:839 |
C语言程序设计教程(第三版)课后习题6.4 (C语言代码)浏览:1189 |