#include<iostream> #include<string> #include<cmath> #include<algorithm> #include<map> #include<vector> #include<sstream> using namespace std; int main(){ int t; cin>>t; while(t--){ long long n,i,a=0; cin>>n; for(i=1;n>0;i++)//堆数 n=n-(1+i)*i/2; i--; if(0==n) printf("%lld %lld %lld\n",i,i,i); else { n=n+(1+i)*i/2; long long j,temp=0; for(j=1;n>0;j++) n=n-j; j--; n+=j; printf("%lld %lld %lld\n",i,j,n); } } return 0; } |
Double click to view unformatted code.