View Code of Problem 3698

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
/**/ 
int main(){
	int t,k=0;
	scanf("%d",&t);
	while(t--)
	{  
		long long n,sum=1,j=1,i=1;	
		scanf("%lld",&n);
//		while(n>sum)
//		{	
//			sum=sum+j;
//			j++;
//		 } 
//		 long long a=j-3;
//		 long long b=n-(sum-j);
//		 long long c=n-(a*b);
//		 printf("%lld",sum);
		while(sum<n) //确定n的行数,依次减去1,2,3。。。 
		{	n-=sum;
			j++;
			sum+=j;
		}
		while(n>i)//确定n的列数 
		{
			n-=i;
			i++;
		}
//	printf("%lld %lld %lld",a,b,c);
		printf("%lld %lld %lld\n",j,i,n);
	}
	return 0;
}

Double click to view unformatted code.


Back to problem 3698