我在远古时期(刚入门几个月)时写的一份代码,当时没养成良好的命名习惯,全是未命名xx,现在翻出来都不知道是干啥的,下附代码
#include<iostream>
#include<cstring>
using namespace std;
int main(){
int n=0,n1=0,i1=0;
cin>>n;
char arr[100],nrr[100];
memset(nrr,'\0',sizeof(nrr));
int t=n;
for(int j=0;;j++){
if(t<=1){
nrr[j]=t+'0';
break;
}
nrr[j]=(t%2)+'0';
t/=2;
}
for(int j=0;j<sizeof(nrr);j++){
if(nrr[j]=='1') n1++;
}
for(int i=n+1;;i++){
memset(arr,'\0',sizeof(arr));
t=i;
i1=0;
for(int j=0;;j++){
if(t<=1){
arr[j]=t+'0';
break;
}
arr[j]=(t%2)+'0';
t/=2;
}
for(int j=0;j<sizeof(arr);j++){
if(arr[j]=='1') i1++;
}
if(i1==n1){
cout<<i;
break;
}
}
}