思路:判断N和G所变换的数据分是被是奇数和偶数,从何通过逆向思维来判断;
#include <bits/stdc++.h>
#define ll long long
#define MAX 100005
using namespace std;
int main()
{
ll n,a[MAX],flag=0,i;
cin>>n;
while(n!=0)
{
if(n%2==0)
{
n=(n-2)/2;
a[flag++]=2;
}
else
{
n=(n-1)/2;
a[flag++]=1;
}
}
for(i=flag-1 ; i>=0 ; i--)
{
if(a[i]==2)
cout<<"G";
else
cout<<"N";
}
cout<<endl;
return 0;
}
京公网安备 11010502036488号