1071: 【基础】计算等腰三角形中的数字的位置 【大数据量】【循环】
题目描述
求这个三角形中第N个数是第几行的第几个数
输入
Input
输入一个整数N(1<=N<=1000000000),表示第N个数。
输出
Output
输出两个整数i,j,中间用一个空格隔开,表示第N个数在第i行的第j个位置。
样例输入
1000000样例输出
1414 1009代码:
#include<stdio.h>
int main(void)
{
int n,i,j;
int i_min,i_max;
scanf("%d",&n);
for(i_min=1,i_max=1,i=1,j=1;;)
{
if(i_min<=n && n<=i_max)
{
j = (n - i_min) + 1;
printf("%d %d",i,j);
break;
}else
{
i_min = i_min + i;
i++;
i_max = i_max + i;
}
}
return 0;
}