1404:我家的门牌号
时间限制: 1000 ms 内存限制: 65536 KB
提交数: 11833 通过数: 8268
【题目描述】
我家住在一条短胡同里,这条胡同的门牌号从1开始顺序编号。
若其余各家的门牌号之和减去我家门牌号的两倍,恰好等于n,求我家的门牌号及总共有多少家。数据保证有唯一解。
【输入】
一个正整数n。n<100000。
【输出】
一行,包含两个正整数,分别是我家的门牌号及总共有多少家,中间用单个空格隔开。
【输入样例】
100
【输出样例】
12 16
代码如下:
#include<bits/stdc++.h>
using namespace std;
int main()
{
int i,n;
int home,sum;
scanf("%d",&n);
home=sqrt(6+2*n)-1;
for(sum=home;;sum++)
{
if((sum*sum+sum-2*n)%6==0)
{
home=(sum*sum+sum-2*n)/6;
if(home<=0) continue;
if(home>0)
{
cout<<home<<" "<<sum<<endl;
break;
}
}
}
return 0;
}