1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
| #include<iostream>
using namespace std;
long long d(long long n){ if(n<=0) return 1; else return n*d(n-1);
}
long long c(long long m,long long n){ if(m<n) return 0; else return d(m)/(d(n)*d(m-n)); }
int main(){ long long iptNum,ipt=0; bool isRight=false;
cin>>iptNum;
for(long long i=0;i<iptNum;i++){ long long a=0; isRight=false;
ipt=0; cin>>ipt; for(long long j=2;j<17;j++){ for(long long k=1;k<j;k++){ for(long long l=0;l<k;l++){ a=c(j,3)+c(k,2)+c(l,1);
if(a==ipt){ cout<<j<<k<<l<<"\n"; break; } } if(a==ipt){ break; } } if(a==ipt){ break; } } }
return 0; }
|