HDU:5670~5764
A题: 是一个3进制计数;
1 #include <bits/stdc++.h> 2 3 using namespace std; 4 5 int a[100000]; 6 7 int calc(long long n) { 8 int i=0; 9 while(n) { 10 a[i++] = n%3; 11 n/=3; 12 } 13 return i; 14 } 15 16 int main() 17 { 18 int t; 19 cin>>t; 20 while(t--) { 21 memset(a,0,sizeof(0)); 22 int m; //长度 23 long long n; 24 cin>>m>>n; 25 int k = calc(n); 26 for(int i=0;i<m-k;i++) { 27 putchar('R'); 28 } 29 for(int i=min(k-1,m-1);i>=0;i--) { 30 if(a[i]==0) 31 putchar('R'); 32 else if(a[i]==1) 33 putchar('G'); 34 else putchar('B'); 35 } 36 puts(""); 37 } 38 return 0; 39 }