由于30多位已经超过了long long int 所能表示的范围( 1 0 18 10^{18} 1018),所以需要用一个数组来将所有的位存进来,依次进行%2运算,最终当数组为空时,说明已经运算结束,可以输出答案。
#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
int num[200],co;
int main()
{
string s;
while(cin>>s)
{
memset(num, 0, sizeof num);
co=0;
for(auto c:s)
{
num[co++]=c-'0';
}
for(int i=0;i<co;i++)
{
cout<<num[i];
}
puts("");
}
return 0;
}