小明“滚出去”
Time Limit:1000MS Memory Limit:65536K
Total Submit:12 Accepted:10
Description
小明是一个学生,他是一个霸占广大70后、80后、90后及00后小学语文、数学课本长达三四十年之久的人物,和小红、小刚并称“黄金不败铁三角”。关于小明最有名的笑话就是小明与老师在课堂的对话“滚出去”。
老师:小明,起来回答问题。
小明:什么问题。老师!
老师:给你一个数字,说出五个数的二进制和这个数的二进制中“1”一样多的数。
小明:老师,我不想滚出去!
老师:嗯...滚出去...找人帮忙!
只有一组测试数据
Input
输入一个数n
Output
输出最小的至多五个数(如果没有五个数,全部输出)
Sample Input
1
13
Sample Output
2 4 8 16 32
7 11 14 19 21
Hint
所有数据都在1000以内,测试数据不会太坑爹的
Source
ZTS
[Submit] [Go Back] [Status] [Discuss]
#include<iostream>
using namespace std;
int f(int n)
{
int count=0;
while(n)
{
if(n%2==1)count++;
n/=2;
}
return count;
}
int main()
{
int n,a[1001];
for(int i=1;i<1001;i++)
a[i]=f(i);
while(cin>>n)
{
int count=0;
for(int i=1;i<1001;i++)
if(a[i]==f(n)&&count<5&&i!=n)
{
cout<<i<<" ";
count++;
}
cout<<endl;
}
return 0;
}