时间限制:1.0s 内存限制:256.0MB
给定L,R。统计[L,R]区间内的所有数在二进制下包含的“1”的个数之和。
如5的二进制为101,包含2个“1”。
如5的二进制为101,包含2个“1”。
第一行包含2个数L,R
一个数S,表示[L,R]区间内的所有数在二进制下包含的“1”的个数之和。
2 3
3
L<=R<=100000;
提交代码
import java.util.*;
public class 二进制数数 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int m = sc.nextInt();
int nums = 0;
for (int i = n; i <= m; i++) {
String x = Integer.toBinaryString(i) + "";
for (int j = 0; j < x.length(); j++) {
char y = x.charAt(j);
if (y == '1') {
nums++;
}
}
}
System.out.println(nums);
}
}
研表究明,汉字的序顺并不定一能影阅响读,比如当你看完这句话后,才发这现里的字全是都乱的。