我想我差不多明白了,但我觉得我在绕圈子试图解决这个问题。在不使用字符串或数组的情况下输出 cout 的挑战。我以数字 56 为例,56 应该等于 111000,但情况并非如此,因为它一直到 7 为止,然后数字等于 number*2 + number%2 使其等于 15 并输出全 1。Idk 了,这是驱使我去月球和回来。
#include <iostream>
using namespace std;
int main()
{
int number = 0;
int n = 1;
int x = n;
cin>>number;
cout<<n%2;
while(n <= number)
{
if(n%2 == 0)
{
n = n*2;
cout<<0;
}
else
{
n = n*2 + n%2;
cout<<n%2;
}
}
}