题目描述:
1的个数
时间限制:
3000 ms | 内存限制:
65535 KB
难度:
1
-
描述
-
小南刚学了二进制,他想知道一个数的二进制表示中有多少个1,你能帮他写一个程序来完成这个任务吗?
-
输入
-
第一行输入一个整数N,表示测试数据的组数(1<N<1000)
每组测试数据只有一行,是一个整数M(0=<M<=10000)
输出
- 每组测试输出占一行,输出M的二进制表示中1的个数 样例输入
-
3 4 6 7
样例输出
-
1 2 3
-
第一行输入一个整数N,表示测试数据的组数(1<N<1000)
代码求解:
package 语言入门;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Num_100 {
public static void main(String[] args) throws IOException
{
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
int count = getInt(in.readLine());
for(int i=0;i<count;i++)
{
int n=getInt(in.readLine());
int result=getOneNumber(n);
System.out.println(result);
}
}
//求十进制数n,在二进制表示中1的个数
private static int getOneNumber(int n)
{
int count=0;
while(n!=0)
{
if(n%2!=0)
count++;
n=n/2;
}
return count;
}
private static int getInt(String readLine)
{
return Integer.parseInt(readLine);
}
}
110

被折叠的 条评论
为什么被折叠?



